我有多个文本输入,而我添加了一个名为'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到达它的时间..