Почему не срабатывает AJAX запрос?

414
05 августа 2017, 05:57

Есть jsp страница c списком предложений о продаже машин. На странице есть фильтр для получения предложений по моделям и маркам, который представляет из себя связанные <option>. Если пользователь выбрал марку то подгружаются модели mark->model при помощи Ajax. Сама выборка происходит при помощи submit отправки формы.

Проблема в том что после Ajax запросы работают только при первой выборке. Тоесть при первом заходе на страницу Ajax запросы и затем выборка по нажатию на submit формы работают правильно. Но при попытке снова сделать выборку все <option> пустые и не на что не реагируют.

Почему так происходит и как это исправить?

Это форма:

<form method="get" action="get_all_proposes/select_propose_by_markmodel">
    <div>
        <select id="mark" name="mark" data-url="get_all_proposes/get_all_marks">
            <option value="">Select mark</option>
        </select>
    </div>
    <div>
        <select id="model" name="model" data-url="get_all_proposes/get_model_by_mark">
            <option value="">Select model</option>
        </select>
    </div>
    <button type="submit">Select</button>
</form>

Это Ajax запросы:

$(document).ready(function () {
    //Get marks set.
    $.ajax({
        url: 'get_all_proposes/get_all_marks',
        type: 'get',
        dataType: 'json',
        success: function (data) {
            var select = $('#mark');
            $.each(data, function (index, value) {
                var optionMark = $('<option>');
                optionMark.val(value).text(value).appendTo(select);
            });
        }
    });
    //Get models set.
    $('#mark').change(function() {
        $.ajax({
            url : 'get_all_proposes/get_model_by_mark',
            type : 'get',
            data : {
                'mark' : this.value
            },
            dataType: 'json',
            success : function(data) {
                var optionModel = $('#model');
                $.each(data, function(index, value) {
                    optionModel.append($('<option>').val(value).text(value));
                });
            }
        });
    });
});
READ ALSO
Как прочитать файл через JS на сервере

Как прочитать файл через JS на сервере

Всем привет!Мне нужно прочитать файл допустим us_quantitytxt и поместить значение файла допустим в переменную us_quantity,я гуглил,честное слово но наткнулся...

444
Как выполнять скрипт каждую секунду с помощью ajax?

Как выполнять скрипт каждую секунду с помощью ajax?

Скрипт работает только один разНужно чтобы работал постоянно, то есть повторялся каждую секунду

422
Croppie не корректно работает

Croppie не корректно работает

Здравствуйте, помогите разобраться в кодеНа сайт установила croppiе для аватарки

361
Получить input, чтобы при клике исчезал текст

Получить input, чтобы при клике исчезал текст

Подскажите, пожалуйста, как достать input используя js, чтобы при клике исчезал текст в поле, если нет прямого доступа редактировать input

389