これは非常に基本的な質問であるため、これについてはいくつかの担当者ポイントを失うことになると確信していますが、「#」を使用してIDで選択するjQueryセレクターで何が間違っているのか理解できません。
私の文書でこの要素を与えられた:
<%= Html.CheckBox("IsAlwaysValid", true,
new { onchange = "showHideValidSetList()", id = "IsAlwaysValidCheckBox" })%>
(これは次のマークアップを出力します:
<input checked="checked" id="IsAlwaysValidCheckBox" name="IsAlwaysValid" onchange="showHideValidSetList()" type="checkbox" value="true" /><input name="IsAlwaysValid" type="hidden" value="false" />
)。
次に、jQueryセレクターを使用してこの関数を実行します。
<script type="text/javascript">
function showHideValidSetList() {
if ($("#IsAlwaysValidCheckBox").checked) {
alert("IsAlwaysValidCheckBox is checked");
return;
}
else {
alert("IsAlwaysValidCheckBox is NOT checked");
return;
}
}
</script>
javascriptDOMを使用した場合とまったく同じである必要があります。
<script type="text/javascript">
function showHideValidSetList() {
if (document.getElementById("IsAlwaysValidCheckBox").checked) {
alert("IsAlwaysValidCheckBox is checked");
return;
}
else {
alert("IsAlwaysValidCheckBox is NOT checked");
return;
}
}
</script>
右?ただし、javascriptバージョンは期待どおりに機能しますが、jQueryバージョンは常に「else」ブランチを取り、チェックボックスの状態を実際に確認していないことを示しています。
私は何が間違っているのですか?
よろしくお願いします。