0

チェックボックスの複数選択セットを使用しようとしていますが、オプションの 1 つが「N/A」になる可能性があります。これがチェックされている場合、他のすべて (input-na のクラスを持たないもの) のチェックを外します。また、NA 以外のチェックボックスがオンになっている場合は、NA のチェックボックスをオフにします。

次のことを試しましたが、他のチェックボックスには何も起こりません:

<script type="text/javascript">
$(document).ready(function () {
    $("input[type=checkbox].input-na").change(function (event) {
        if ($(this).prop("checked")) {
            $('input[type=checkbox]').not('.input-na').prop('checked', false);
        }
    });

    $("input[type=checkbox]").not(".input-na").change(function (event) {
        if ($(this).prop("checked")) {
            $("input[type=checkbox].input-na").prop("checked", false);
        }
    });
});

アラートを入れて確認した「if ($(this).prop("checked"))」で両方の領域に入り込んでいるので、チェックを外す実際のコードは機能していません。

編集:ここにマークアップがあります:

<fieldset data-role="controlgroup">



    <input type="hidden" name="Questions[0].ResponseOptions[0].key" value="1" />
    <input type="hidden" name="Questions[0].ResponseOptions[0].value.ResponseNum" value="1" />
    <input type="hidden" name="Questions[0].ResponseOptions[0].value.Text" value="Self service gas, paid at the pump" />
    <input type="hidden" name="Questions[0].ResponseOptions[0].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_1" value="1" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_1">Self service gas, paid at the pump</label>



    <input type="hidden" name="Questions[0].ResponseOptions[1].key" value="2" />
    <input type="hidden" name="Questions[0].ResponseOptions[1].value.ResponseNum" value="2" />
    <input type="hidden" name="Questions[0].ResponseOptions[1].value.Text" value="Self service gas, paid inside at the kiosk or convenience store" />
    <input type="hidden" name="Questions[0].ResponseOptions[1].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_2" value="2" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_2">Self service gas, paid inside at the kiosk or convenience store</label>



    <input type="hidden" name="Questions[0].ResponseOptions[2].key" value="3" />
    <input type="hidden" name="Questions[0].ResponseOptions[2].value.ResponseNum" value="3" />
    <input type="hidden" name="Questions[0].ResponseOptions[2].value.Text" value="Full service provided by attendant" />
    <input type="hidden" name="Questions[0].ResponseOptions[2].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_3" value="3" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_3">Full service provided by attendant</label>



    <input type="hidden" name="Questions[0].ResponseOptions[3].key" value="4" />
    <input type="hidden" name="Questions[0].ResponseOptions[3].value.ResponseNum" value="4" />
    <input type="hidden" name="Questions[0].ResponseOptions[3].value.Text" value="Convenience store purchase (not including gas or diesel)" />
    <input type="hidden" name="Questions[0].ResponseOptions[3].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_4" value="4" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_4">Convenience store purchase (not including gas or diesel)</label>



    <input type="hidden" name="Questions[0].ResponseOptions[4].key" value="5" />
    <input type="hidden" name="Questions[0].ResponseOptions[4].value.ResponseNum" value="5" />
    <input type="hidden" name="Questions[0].ResponseOptions[4].value.Text" value="Car wash" />
    <input type="hidden" name="Questions[0].ResponseOptions[4].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_5" value="5" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_5">Car wash</label>



    <input type="hidden" name="Questions[0].ResponseOptions[5].key" value="6" />
    <input type="hidden" name="Questions[0].ResponseOptions[5].value.ResponseNum" value="6" />
    <input type="hidden" name="Questions[0].ResponseOptions[5].value.Text" value="Washrooms" />
    <input type="hidden" name="Questions[0].ResponseOptions[5].value.IsNA" value="False" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_6" value="6" 

    />
    <label for="Question_040179122124101173157046112086076030096242133244_6">Washrooms</label>



    <input type="hidden" name="Questions[0].ResponseOptions[6].key" value="7" />
    <input type="hidden" name="Questions[0].ResponseOptions[6].value.ResponseNum" value="7" />
    <input type="hidden" name="Questions[0].ResponseOptions[6].value.Text" value="None of the above" />
    <input type="hidden" name="Questions[0].ResponseOptions[6].value.IsNA" value="True" />

    <input type="checkbox" name="Questions[0].Responses" id="Question_040179122124101173157046112086076030096242133244_7" value="7" 

                                                                                                        class = "input-na"

    />
    <label for="Question_040179122124101173157046112086076030096242133244_7">None of the above</label>

4

0 に答える 0