AJAXed Выберите элемент формы по умолчанию первый вариант, даже если изменился - PullRequest
0 голосов
/ 02 декабря 2011

Обновлено : DOM создает второй экземпляр выбора #dockhouse-reservation-vessel.Он переопределяет первый, который является «реальным» с правильным значением

События срабатывают, данные извлекаются и заменяются.Значение #dockhouse-reservation-vessel отображается в alert(), но не в $_POST.Если я закомментирую второй блок jQuery, проблемное значение select запоминается правильно.

$('form').delegate('#dockhouse-reservation-owner','change', function(){
    $.ajax({
        url: '/dockhouse/ajax/vessels/' + $(this).val() +  '/',
        success: function(data){
            $('#dockhouse-reservation-vessel').empty();
            $('#dockhouse-reservation-vessel').append(data);
        }
    });
});

data представляет option элементов:

<!DOCTYPE html>
<option value="">Choose a vessel</option>
<option value="1744">Stinkpot</option>
<option value="1726">Poopy Snoop</option>
<option value="1704">Catchup</option>

1018 * ниже представляет таблицу.

$('form').delegate('#dockhouse-reservation-vessel','change',function(){
    $.ajax({
        url: '/dockhouse/ajax/locations-by-reservation-criteria/' + $(this).val() +  '/',
        success: function(data){
            $('#assign-location').empty();
            $('#assign-location').append(data);
        }
    });
});

Есть идеи?

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

При удалении и повторной вставке всего поля выбора состояние удаляется. Вы можете сохранить старое значение во временной переменной и применить его в обратном вызове:

$('form').delegate('#dockhouse-reservation-vessel','change',function(){
        // save the value
        var oldValue = $(this).val();
        $.ajax({
            url: '/dockhouse/ajax/locations-by-reservation-criteria/' + oldValue +  '/',
            success: function(data){
                $('#assign-location').empty();
                $('#assign-location').append(data);
                // select the old value
                $('#dockhouse-reservation-vessel').val(oldValue);
            }
        });
    });
0 голосов
/ 03 декабря 2011

ВАУ, глупая ошибка. Было выбрано поле выбора с тем же именем и ответом ajax таблицы. Уходит от стыда ...

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