Остановите Jquery для автоматического запуска события onclick при рендеринге HTML-таблицы с использованием innerHtml - PullRequest
0 голосов
/ 26 января 2019

Как запретить Jquery запускать событие onclick, пока html отображает html таблицу с кнопками. Эти кнопки должны присутствовать, что inturns вызывает backend API по причинам обновления. Кроме того, refreshUser () должен запускаться вручную при нажатии кнопки обновления.

jqueryfile.js

 $(document).ready(function () {
    refreshUser = function (userId) {
        $.ajax({
            url: "/services/svcCall/refreshUserDetails",
            type: 'POST',
            data: {format: 'json', userId: userId},
            success: function (response) {
                $('#userDetails-result').html("Refreshed completed.");
            },
            error: function () {
                $('#userDetails-result').html("<p>There was an error processing your request. Please try again.</p>");
            }
        });
    };
    $('#userDetails-search').click(function () {
        $('#userDetails-search').html("Fetching ...");
        $.ajax({
            url: "/services/svcCall/allUserDetails",
            type: 'POST',
            data: {format: 'json'},
            success: function (response) {
                var length = response.length;
                var outerString = '<br><br><table border = 2>';
                outerString += "<tr><td> UserDetails size present: " + length + "</td></tr>";
                var innerString = '<tr><td><table border = 1>';
                for (var i = 0; i < length; i++) {
                    innerString += "<tr>"
                        + "<td> JSON:" + JSON.stringify(response[i]) + "</td>"
                        + "<td> <input type=\"button\" onclick=\"" + refreshUser(response[i].userId) + "\" value=\" Refresh \"> </td></tr>";
                }
                innerString += "</table></td></tr>";
                outerString = outerString + innerString + "</table>";
                $('#userDetails-search').html(outerString);
            },
            error: function () {
                $('#userDetails-search').html("<p>There was an error processing your request. Please try again.</p>");
            }

        });
    });
});

HTML-файл

<table>
    <tr><td><button id="userDetails-search">Find me all User Details</button></td></tr>

    <tr><td><section id="userDetails-search"> </section></td>
        <td><section id="userDetails-result"></section></td></tr>
</table>

1 Ответ

0 голосов
/ 26 января 2019

ваш onclick должен поставить refreshUser в строку вместо

 onclick=\"refreshUser(" +response[i].userId + ")\"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...