web-dev-qa-db-ja.com

Javascript Html.Checkbox onchangeイベント

チェックボックスの変更に到達するために、以下のイベントを試しました。

 @Html.CheckBox("AutoCalculateMandate", true , new { onchange = "AutoCalculateMandateOnChange" })

Javascript:

function AutoCalculateMandateOnChange() {
    alert("working");
}

上記のjavascriptコードを試しても、アラートに何も表示されません(動作しません)。

Html.Checkboxの値が変更されたときに、以下の入力を有効/無効にするにはどうすればよいですか?

<input type="text" id="LevyFee" class="form-control" data-required="true" ">

どんな助けも感謝します。

ありがとう。

14
John Elizabeth

参照としてelementを渡すことにより、チェックボックスをthisとして取得できます。以下の更新されたマークアップを参照してください

<input type="checkbox" value="check" id="AutoCalculateMandate" onchange = "AutoCalculateMandateOnChange(this)"/>
<label for="AutoCalculateMandate">
    Auto Calculate
</label> <br />

MVCを使用しているため、次のように実現できます。

 @Html.CheckBox("AutoCalculateMandate", true , new { onchange = "AutoCalculateMandateOnChange(this)" })

javascript

function AutoCalculateMandateOnChange(element){
    element.checked ? document.getElementById("LevyFee").disabled = true : document.getElementById("LevyFee").disabled = false;    
}

デモ

22
Dhaval Marthak