Как добавить новую переменную в ajax - PullRequest
0 голосов
/ 18 мая 2018

Привет всем.

    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#id_name_task").change(function () {
                var name_task = $(this).val();
                $.ajax({
                    type: 'GET',
                    async: true,
                    dataType: 'json',
                    url: '{% url "validate_data" %}',
                    data: {
                        'name_task': name_task,
                    },
                    success: function (data) {
                        if (data.is_taken) {
                            alert("A task with this name already exists.");
                        }

                    },
                });
            });
        });
    </script>

It code - проверяет поле и, если такие данные есть в базе данных, показывает окно-предупреждение.Я хочу проверить другое поле.

    <p><label for="id_category_task">Category task:</label> <select
            name="category_task" required="" id="id_category_task">
        <option value="" selected="">---------</option>

        <option value="1">One</option>

        <option value="2">Two</option>

        <option value="3">Three</option>

    </select></p>

Например, пользователь нажимает «Один», и я хочу получить данные.Но я не понимаю, как добавить две переменные в коде jquery.И как найти нужные данные.enter image description here

Это не показывает мне мой выбор текста.Мне нужен новый $(document).ready(function (), верно?Или нет?Я надеюсь, что вы мне поможете.Спасибо.

1 Ответ

0 голосов
/ 18 мая 2018

Предположим, у вас есть несколько select элементов:

<select id="id_name_task" class="combo">...</select>
<select id="id_category_task" class="combo">...</select>

. Вы можете зарегистрировать прослушиватель событий в классе .combo и выполнить соответствующее действие:

$(document).on('change', '.combo', function(e) {
    callAjax($(e.currentTarget);)
});

function callAjax(sender) {
    var senderId = sender.attr('id');
    var val = sender.val();
    $.ajax(function() {
        method: 'POST',
        url: '...',
        data: { senderId: senderId, val: val },
        success: function(data) {
            // Handle data
        },
        error: function() {
            // Handle error
        }
    });
}

Теперь, накод вашего сервера, вы можете проверить параметры senderId и val и отправить соответствующий ответ клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...