我有一個複選框,可以通過下面的功能在選中時顯示附加選項。麻煩的是,如果顯示的複選框被選中,即使被隱藏,它們仍然被選中。我怎樣才能最好地綁定取消勾選與他們被隱藏相同的功能?如何在輸入元素隱藏時從複選框中刪除檢查?
這是許多類似隱藏取消隱藏分組之一。任何幫助表示讚賞!謝謝大家
請注意,我在一個系統中這樣做,我不能添加或更改任何HTML ID或類,這就是爲什麼有一大堆選定的項目。
$("input[id='form_0009_fld_5-0']").click(function() {
if($(this).is(':checked')) {
$("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').show();
} else {
$("input[name='form_0009_fld_6-0'],label[for='form_0009_fld_6-0'],input[name='form_0009_fld_6-1'],label[for='form_0009_fld_6-1'],input[name='form_0009_fld_6-2'],label[for='form_0009_fld_6-2'],input[name='form_0009_fld_6-3'],label[for='form_0009_fld_6-3'],input[name='form_0009_fld_6-4'],label[for='form_0009_fld_6-4'],input[name='form_0009_fld_6-5'],label[for='form_0009_fld_6-5'],input[name='form_0009_fld_6-6'],label[for='form_0009_fld_6-6']").closest('.formField').hide();
}
});
解決此問題的更好方法是在代碼中包含「isHidden」檢查,而不是修改是否檢查某些內容?如果他們想讓複選框再次可見,這將保持用戶的選擇。 – Codeman 2013-04-30 19:24:24
另外,你可以給我們一個JSFiddle展示這個問題嗎? – Codeman 2013-04-30 19:24:39
你可以使用jquery修改任何DOM元素,所以你仍然可以添加類來輸入你的目標,比使用無法讀取的選擇器更好 – 2013-04-30 19:26:57