Выбранный элемент исчезает в $ _POST после манипулирования элементами опций с помощью jQuery - PullRequest
0 голосов
/ 15 декабря 2010

У меня есть два списка выбора, в каждом из которых отображаются пользователи, и две кнопки (добавить и удалить), которые перемещают пользователей из списка выбора слева направо и наоборот.Добавление и удаление пользователей из списков выбора осуществляется с помощью jQuery 1.4.4.Проблема в том, что после того, как я переместил как минимум одного пользователя и нажал кнопку Отправить, массив $ _POST не содержит ни одного списка выбора.Если я перезагружаю страницу и нажимаю «Отправить», не перемещая ни одного пользователя, списки выбора появляются в массиве $ _POST.

Код, который я использую для кнопки добавления:

$("#btnAdd").click(function() {
// check if there are any unassigned users selected
if($("#Unassigned_users").val()) {
    // for all selected options ...
    $("#Unassigned_users option:selected").each(function(n) {
        var newOption = \'<option value="\' + $(this).val() + \'">\' + $(this).text()   + \'</option>\';
        // check if there are any options in the assigned users
        if ($("#Assigned_users option").size()) {
            // put the item after the last option
            $("#Assigned_users option:last").after(newOption);
        }
        // the assigned users list is empty
        else {
            // replace the contents of the select tag with the new option
            $("#Assigned_users").html(newOption);
        }
        // finally, remove the selected item
        $(this).remove();
    });
}
});

Unassigned_users и Assigned_users являются идентификаторами элементов выбора.

1 Ответ

1 голос
/ 15 декабря 2010

Я нашел проблему, которая не связана с jQuery.Чтобы элементы выбора отображались в массиве $ _POST, необходимо выбрать хотя бы один из элементов в каждом списке выбора.

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