1

StartAll と StopAll のチェックに行き詰まっています

私が実装したいのはそれです->

1> すべてのチェックボックスを選択すると、すべての機能 (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 に答える