我想在用戶檢查或取消選中表單中的複選框時更新全局數組。然後將該數組提交給服務器以更新數據庫中選中的選項。 我已經儘可能將選中的複選框的ID推入數組,但我不確定如何刪除它們。刪除全局數組中的特定元素複選框選中並取消選中JavaScript
我創建了一個基本的jsfiddle在這裏證明:
PS - 數組將非常具有正確的:)
我想在用戶檢查或取消選中表單中的複選框時更新全局數組。然後將該數組提交給服務器以更新數據庫中選中的選項。 我已經儘可能將選中的複選框的ID推入數組,但我不確定如何刪除它們。刪除全局數組中的特定元素複選框選中並取消選中JavaScript
我創建了一個基本的jsfiddle在這裏證明:
PS - 數組將非常具有正確的:)
爲什麼在每一次點擊這個工作,只是做的表單提交時 - 有一個:檢查選擇,你也可以使用,而不是選擇和迭代的元素,你不感興趣
由於jyoseph建議 - 你可以使用連載陣在這裏建一個名稱/值數組
如
$('#submitButton').click(function(ev){
var ids = [];
$(':checkbox:checked').each(function(){
ids.push(this.id);
});
//do something with ids
});
後來命名空間既然你遍歷所有每次複選框,只是在開始時清空數組,並且只將檢查的項目放回:
ids = [];
if (this.checked) {
ids.push(this.id);
}
我認爲您可能會對jQ uery serializeArray()(api link)
$('#myForm input[type=checkbox]').change(function(){
// get all checked checkboxes
var ids = $('myForm input[type=checkbox]:checked').serializeArray();
});
我希望你不要介意,我用更高效的`this.checked`和`$(this).attr(「id」)替換`$(this).is(「:checked」 )`更有效的`this.id`。 OP的代碼有一個小錯誤,我也修正了。 +1爲您的答案。 – 2010-11-22 15:38:43
這很好 - 感謝您修復它。 – Jon 2010-11-22 15:39:01