はい/いいえ入力用の2つのラジオボタンを備えたjquery-uiボタンセットを使用しています。
var yesInput = document.createElement("input");
yesInput.type = "radio";
$(yesInput).attr('id', "njs1");
$(yesInput).prop('checked', this._data);
var noInput = document.createElement("input");
noInput.type = "radio";
$(noInput).attr('id', "njs2");
$(noInput).prop('checked', !this._data);
これらのボタンと、チェックされたボタンがクリックされたかどうかを検出しようとする処理関数で、変更イベントを呼び出しています。buttonSet
にされる div ですbuttonset()
。
$("input[type=radio]", buttonSet).change(checkHandler);
var data= $("input[type=radio]", buttonSet).eq(0).is(':checked');
このような状況で、2 番目のボタンがクリックされた場合、データは false を返すはずです。私の理解では、ラジオをチェックすると、html が追加されるように変更されchecked
ます。
ただし、呼び出されているものに関係なく、 data は常にtrue
.
私は何を間違っていますか?正しい値を取得するには?
編集:
ご覧のとおり、[いいえ] をクリックしても、[はい] をオンのままにできます。ラジオなので、そのように動作することを期待しています