web-dev-qa-db-fra.com

Événement onchange Javascript Html.Checkbox

J'ai essayé l'événement ci-dessous afin d'atteindre le changement de case à cocher.

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

Javascript:

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

Lorsque j'essaie au-dessus du code javascript, l'alerte n'affiche jamais rien (ne fonctionne pas).

Comment puis-je activer/désactiver l'entrée ci-dessous sur la valeur Html.Checkbox modifiée?

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

Toute aide apprécie.

Merci.

14
John Elizabeth

Vous pouvez obtenir la case à cocher en tant que element dans votre fonction en passant this comme référence, voir le balisage mis à jour ci-dessous

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

Puisque vous utilisez MVC, cela peut être réalisé comme ceci:

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

javascript

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

Démo

22
Dhaval Marthak