1

ここにjsfiddleがあります

小さなアプリケーションをフィドルで使用するには、以下の手順に従ってください。

  1. 「Open Grid」リンクをクリックし、番号付きのボタンを選択します。たくさんの文字ボタンが下に表示されます。回答ボタンの選択を開始すると、ボタンが緑色に変わり、上の「回答数」テキストボックスで、オンにしたボタンの数がカウントされ始めます。

  2. ただし、すべての回答ボタンの選択を解除して、どの回答ボタンもオンにしない場合、上のテキスト ボックスは表示されず0、代わりに が表示されます1

これは、以下のコードが原因です。

var container = $btn.closest(".optionAndAnswer");
// here the zero gets assigned
var answertxt = $(".answertxt", container);
var numberison = $(".answerBtnsOn", container).length;
if (answertxt.val() == 1 && numberison == 0) {
    numberison = 1;
}
answertxt.val(numberison);

このコードブロックがフィドルのどこにあるかを示すために、ブロック大文字の jsfiddle にコメントを含めました。

私がやりたいことは、グリッドから選択されたオプションが「TrueまたはFalse」または「YesまたはNo」の場合、上記のコードを実行し、回答ボタンが強調表示されていない場合、テキストボックスの値は1です.その他のオプションでは、回答ボタンが選択されていない場合、テキスト ボックスの値は 0 にする必要があります。

これはどのように達成できますか?

4

1 に答える 1

1

以下に示すように、選択した入力の種類が true/false yes/no であるかどうかを確認し、それによって実行するコードを決定しています。

// ... 
var maxRowValue = $('.gridTxt', container).val();
if (maxRowValue === 'True or False' || maxRowValue === 'Yes or No') {
    if (answertxt.val() == 1 && numberison == 0) {
        numberison = 1;
    }
}
answertxt.val(numberison);
于 2012-12-09T07:19:48.803 に答える