dongqu5650
2010-12-15 08:05
浏览 56

使用jQuery操作选项后,选择元素在$ _POST中消失

I have two select lists that each display users and two buttons (add and remove) that move users from the left to the right select list and vice versa. The addition and removal of the users in the select lists are done using jQuery 1.4.4. The problem is that after I move at least one user and click on Submit, the $_POST array does not contain either select list. If I reload the page and click on Submit without moving any user, the select lists appear in the $_POST array.

The code I'm using for the add button is:

$("#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 and Assigned_users are the select elements identifiers.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doulan4371 2010-12-15 08:15
    已采纳

    I have found the issue, which is unrelated to jQuery. In order for the select items to appear in the $_POST array, you should select at least one of the items in each select list.

    点赞 打赏 评论

相关推荐 更多相似问题