0
$('.options').click(function() {
            var selectedItems = new Array();
            $("input:checkbox:checked").each(function() {selectedItems.push($(this).val());});
                var data = selectedItems.join(',');
            $("#opts").val(data);
        });

チェックボックスの値を配列に挿入するこの関数があります。現在、それは正常に動作します。しかし、フォームを送信すると、値は本来のように配列にとどまりますが、問題は、チェックボックスをオフにすると配列内にとどまり、同じボックスを再度オンにすると、値が再び追加されることです。何か助けはありますか?

4

1 に答える 1

0

プッシュする前に、値がまだ配列にないことを確認することができます

if(!($.inArray($(this).val(), selectedItems))){
  selectedItems.push($(this).val());});
}
于 2013-01-10T23:30:47.683 に答える