2010-04-22 48 views
4

使用.remove(),以便全選複選框未提交給服務器。有沒有辦法在不使用jQuery .remove()的情況下刪除表單元素?

但是,用戶可以看到選擇所有複選框在提交時「物理」從網頁中刪除。

取而代之,我想刪除全選複選框以顯示無縫但不在服務器端。即 - 我想保留頁面上的輸入,但在發送之前移除表單數組中的元素。

我可以在表單的元素[]數組發送到服務器並在那裏刪除它嗎?

謝謝。

回答

7

如果禁用該複選框,它不會與表單的其餘部分一起發送:

$('#myInp').attr("disabled", true); 

使用這種方法,您可以禁用元素期間提交後立即再次啓用它:

$('#myForm').submit(function() 
{ 
    var $myInp = $('#myInp'); 
    $myInp.attr("disabled", true); 
    window.setTimeout(function() 
    { 
     $myInp.attr("disabled", false); 
    }, 0); 
}); 
+0

乾淨,謝謝。 – 2010-04-22 19:27:43

2

Andy E和munch都有可行的解決方案。下面是另一個:

替換另一個,惰性複選框

$('#select-all-checkbox').replaceWith('<input type="checkbox"/>'); 

當然,如果表單提交由於某種原因失敗這可能產生問題。

相關問題