2012-11-14 278 views
0

我無法讓我的代碼工作。我有兩個單選按鈕:「任意位置」「某處」和兩個複選框「作者」「參考」 如果選擇任何位置,則兩個複選框被禁用 如果選擇某處,則啓用兩個複選框。使用jQuery禁用/啓用複選框

<s:radio id="search_Anywhere" name="emplacement" list="getAnywhere()"/> 
<s:radio id="search_Somewhere" name="emplacement" list="getEmplacementNonPartout()"/> 
<s:checkbox cssClass="list_check" name="emplacementAuthor" disabled="true" value="true"/>Author 
<s:checkbox cssClass="list_check" name="emplacementreference" disabled="true" value="true"/>reference        

我已經修改了jQuery來此:

$("input[name='emplacement']").click(function() { 
     if ($('#search_Anywhere').is (":checked")) { 
      $(".list_check").attr("disabled" , true); 
      $(".list_check").removeAttr('checked'); 
      } else if ($('#search_Somewhere').is (":checked")){ 
       $(".list_check").removeAttr ("disabled"); 
       $(".list_check").attr('checked','true'); 
      } 
      }); 

然而,只有按鈕「某處」的作品,當我點擊它使複選框。按鈕「Anywhere不工作,這使得它不可能禁用一個複選框啓用。

任何人都可以請幫助?

回答

0

嘗試使用禁用的,而不是真正的$(".list_check").attr("disabled", "disabled");

0

試試這個

$("input[name='emplacement']").click(function() { 
     if ($('#search_Anywhere').is (":checked")) { 
      $(".list_check").attr("disabled" , "disabled"); 
      $(".list_check").removeAttr('checked'); 
      } else if ($('#search_Somewhere').is (":checked")){ 
       $(".list_check").removeAttr ("disabled"); 
       $(".list_check").attr('checked','checked'); 
      } 
      }); 
+0

我已經嘗試了以上,但不幸的是沒有解決問題,現在這兩個按鈕都不起作用,複選框被設置爲禁用,並且不能啓用它們。 – user1353307

+0

它們是否是互斥的單選按鈕? – Narendra

+0

腳本有了改變,你可以檢查一下現在是否有效? – Narendra