使用jQuery单击无线电按钮时禁用或启用文本输入表单



我有多个文本输入,而我添加了一个名为'bankInput'的类。我有两个由ASP.NET帮助者生成的广播按钮,尽管我认为这与此无关。我已经检查了生成的HTML,它们分别为ID,'id =" check"''and'id =" draft"'。为了完成,让我显示生成的HTML:

<label for="Cheque"> <input checked="checked" data-val="true" data-val-
required="The Payment Mode field is required." id="Cheque" name="IsCheque" 
type="radio" value="true">Cheque</label>
<label for="Draft"><input id="Draft" name="IsCheque" type="radio" 
 value="false"> Draft </label>

我希望在单击"收音机"框并单击草稿时启用上述类别的文本框。我进行了一些搜索,并找到了一些可以解决问题的JS:

<script type="text/javascript">  
$(document).ready(function () {
    $('#Cheque').change(function () {
        disable();
    });
    $('#Draft').change(function () {
        enable();
    });
    function disable() {
        $('.bankinput').prop('disabled', true);
    };
    function enable() {
        $('.bankinput').removeAttr('disabled');
    };
});   
</script>

问题是,它没有做任何事情。什么都没有发生,除了文档加载时,除了文档加载时,从未触发过的断点。我对JS不好,所以就我而言,这可能是什么。有什么想法吗?

在脚本之后加载了ASP.NET帮助者生成的LOUS LIKES ...

尝试类似:

....
$(document).on('change', '#Cheque', function(){
     disable();
});
....

fbblade可能已经开始了,但这是我最终做的事情:

 <label for="Cheque">
    @Html.RadioButtonFor(model => model.IsCheque, "true", new { @id = 
      "Cheque", onchange = "disable()" })
Cheque
 </label>
<label for="Draft">
    @Html.RadioButtonFor(model => model.IsCheque, "false", new { @id = 
      "Draft", onchange = "enable()" })
    Draft 
</label>

因此,重大变化是将Onchange事件处理程序设置为我的规定功能。我猜这最终与FBBlade发布的内容相同。尽管现在我想到的是,ASP.NET帮助者以及这样的只是更改生成的代码,但我不知道为什么会加载任何代码。浏览器甚至不应该知道HTML到达它的时间..

最新更新