2016-07-07 33 views
1

我想清除表格form1而不清除文本框textbox1。然而,下面不工作:重置表格,但一個特定字段除外

$('#form1').not("input[type=text]#textbox1").trigger('reset'); 

我可以爲除textbox1每個字段做.html(''),但我不想這樣做,因爲會有更多的字段添加到窗體,因此manitaninability不好。

回答

3

不幸的是,reset事件發生在form上,並影響其中所有與表單相關的元素。爲了達到你需要,你可以選擇所有您需要的表單元素和手動設置的值,例如什麼:

$('#form1').find('input, select, textarea').not("#textbox1").val(''); 

的元素選擇上面的應該是通用的,足以應付額外的字段添加到窗體動態

0

您可以首先將#textbox1上的值保存在變量中,然後正常重置表格,然後將保存的值分配給#textbox1。這節省了選擇每種輸入類型和分開重置的麻煩。

var value1 = $("input#textbox1").val(); 
$('#form1').trigger('reset'); 
$("input#textbox1").val(value1); 
+0

這是一個很好的方法,但不幸的是它不會在我的情況下工作。我在做Asp.net MVC,我需要'textbox1'的值作爲參數傳遞給一個動作。在你的情況下'value1'是客戶端,不會被傳遞 –

相關問題