1

我卡在检查 StartAll 和 StopAll

我想要实现的是->

1> 选中 All 复选框后,所有功能(stopall 除外)都将被选中和禁用。

2>在选择 Stopall 时,所有功能将被取消选择并禁用。

3>B,D & E 的值将在文本框中选择。

这是 jsfiddle 链接:http: //jsfiddle.net/bigzer0/PKRVR/5/

<div align="center" id="checkboxes">
<input type="checkbox" name="startall" data-name="Startall" class="check" id="check" value="all"> All &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="stopall" data-name="Stopall" class="check" id="check" value="stopall"> STOPall &nbsp;&nbsp;
<input type="checkbox" name="apple" data-name="Apple" class="check" id="check" value="a"> Apple &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="ball" data-name="Ball" disabled="disabled" checked="checked"  id="check" value="b"> Ball
    &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="cat" data-name="Cat" class="check" id="check" value="c"> Cat &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="dog" data-name="Dog" checked="checked" disabled="disabled"  id="check" value="d"> Dog
    &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="elephant" data-name="Elephant" disabled="disabled" checked="checked"  id="check" value="e">
    Elephant &nbsp;&nbsp;&nbsp;
</div>


<input type="text" name="policyName" id="policyName" title="Policy Name" class="cpolicyname" value="Start" readonly="readonly" >

<input type="text" name="features" title="Policy Features" class="cfeatures" id="features" readonly="readonly" size="60">

我的(噩梦)jquery:

$(document).ready(function() {
    $('.check').click(function(){
        $("#policyName").val('Start');
        $("#features").val('');
                  $(".check").each(function(){
            if($(this).prop('checked')){

                $("#policyName").val($("#policyName").val() + $(this).val());    
                $("#features").val($("#features").val() + $(this).data('name'));
                }            
        });

     });
});

任何意见都将受到赞赏和欢迎。

4

1 回答 1

1

你为什么还要这样做?您甚至不检查单击了哪个按钮。为 Stopall 和 Startall 以外的复选框提供另一个类,如“checkable”

$('.check').click(function(){
    if ($(this).attr('name')=='Stopall') {
        $('.checkable').attr('disabled',true).attr('checked',false);

    } else if ($(this).attr('name')=='Startall') {
        $('.checkable').attr('disabled',true).attr('checked',true);
    }
}

您可以像这样在 css 上提供多个类:

 <input type="checkbox" name="anything" class="class1 class2 class3" />

我认为其余的真的在你身上;)

于 2012-10-10T12:09:36.673 回答