- のWindows 7
- のVisualStudio 2015
- C#。ネットMVC
- jqueryの3.1.1
をチェックします。私はチェックボックスを持っていて、アイテムの "id"番号(インデックス)を保持する要素をdata
に設定しました。私は、チェックボックスに変更する方法火災をクリックして、私は期待どおりindex
が設定されているとき、私はjqueryのチェックボックスは、私は些細な何かが欠けている必要があり財産と三項演算子
1 $("input#item_IsHere").on("change",
2 function() {
3 var index = $(this).data("index");
4 var checked = $(this).checked === true ? 1 : 0;
5
6 console.log("on change: " + $(this).checked);
7 //...
8 });
以下on change
方法があります。私が期待していなかったのは、プロパティが$(this)
であることが定義されていないということです。
また、私は、このためのフィドルを試してみましたが、フィドルが働いた:/
私はChromeとFirefoxでこれを見ています。ページが読み込まれると、チェックボックスが表示され、デベロッパーツールのデバッガーが起動します。デバッガでは、私はconsole.log
(lise 6)にブレークポイントを設定しました。チェックボックスをクリックすると、ブレークポイントまで実行され、待機します。最初の$(this)
(3行目)にカーソルを合わせると、checked
プロパティがtrue
に設定されていることがわかります。 var checked
の値が0になってしまうとconsole.log
の結果は、私はまた、
var checked = $(this).checked ? 1 : 0;
and
var checked = $(this).is(":checked") ? 1 : 0;
and
if ($(this).checked) {
checked = 1;
} else {
checked = 0;
}
としてライン4に三項演算子をやった、ああ
on change: undefined
であることを
問題があります
と同じ結果が得られました。
私には見えないものはありますか?
を使用する必要があります。代わりに '$(this).is( ':checked')'を使用してください。 –