使用jQuery禁用/启用复选框

时间:2012-11-14 09:27:21

标签: jquery button checkbox struts radio

我无法使代码正常工作。我有两个单选按钮:“Anywhere”“Somewhere”和两个复选框“Author”“Reference” 如果选择了任何位置,则会禁用这两个复选框 如果选择某处,则启用两个复选框。

<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');
             }
            });

但是,只有按钮“Somewhere”才有效,当我点击它时会启用复选框。按钮“Anywhere不起作用,这使得无法禁用已启用的复选框。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

尝试使用disabled而不是true $(".list_check").attr("disabled", "disabled");

答案 1 :(得分: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');
             }
            });