これは初歩的な問題だと思いますが(私はそう思います)、ここで質問するのは恥ずかしいです。すでに回答されている可能性がありますが、私の検索では見つかりませんでした。
最も単純な形式では、2 つのチェック ボックスがあり、各 CheckBox にはそれに関連付けられたコントロール (TextBox または DropDownList など) があります。CheckBox のチェック状態が変化した場合、関連付けられたコントロールを有効または無効にする必要があります。
JavaScript 関数:
<script type="text/javascript:>
function enable(bValue, control)
{
document.getElementByID(control).Enabled = bValue;
}
</script>
以下の HTML では、この関数をイベント プロシージャとして呼び出します。
<body>
Billable? <asp:CheckBox ID="expBillable" runat="server" Checked="false" OnCheckedChanged="enable(this.Checked, "expJob");" />
to <asp:DropDownList ID="expJob" runat="server" Enabled="true" />
<br /><br />
Billable? <asp:CheckBox ID="itemBillable" runat="server" Checked="false" OnCheckedChanged="enable(this.Checked, "itemJob");" />
to <asp:DropDownList ID="itemJob" runat="server" Enabled="true" />
問題は、引用符を使用しているため、HTML で「expJob」パラメーターを指定できないことです。一重引用符を使用しても機能しません。
質問: このアプローチは機能しますか? 適切な構文は何ですか?
このような関数を記述して使用する最良の方法は何ですか? グリッド内の行を反復処理する必要がある場合、このような関数の使用が必要になると確信しています。
興味深いことに、私が見たすべての質問/回答は、コントロールの無効化された属性を使用しています。Enabled 属性しか使用できません。誰かが理由を説明できますか?違いは何ですか?