Jquery 灰显按钮,直到在下拉列表中选择某个值
如果默认的“选择”是此下拉列表中的选定项Jquery 灰显按钮,直到在下拉列表中选择某个值,jquery,asp.net-mvc,Jquery,Asp.net Mvc,如果默认的“选择”是此下拉列表中的选定项 @Html.DropDownListFor(x => x.ID, new SelectList(Model.Data, "ID", "Info"), "Choose",new {@id = "DDL" }}) 我想把这个按钮涂成灰色 <input name="Submitbtn" type="Submit" id=&qu
@Html.DropDownListFor(x => x.ID, new SelectList(Model.Data, "ID", "Info"), "Choose",new {@id = "DDL" }})
我想把这个按钮涂成灰色
<input name="Submitbtn" type="Submit" id="Submit" value="Submit"/>
从
@id=
还原为原始:
@Html.DropDownListFor(x => x.ID, new SelectList(Model.Data, "ID", "Info"), "Choose")
将创建一个
<select id="ID" name="ID">
对于按钮本身,#SubmitBtn
必须与按钮id匹配,即Submit
(无Btn),给出:
更新的代码段:
$('#ID')。更改(函数(){
if($(“#ID选项:已选定”).text()=='Choose'){
$(“#提交”).attr(“禁用”、“禁用”);
}否则{
$(“#提交”).attr(“已禁用”,空);
}
});
//默认情况下,启动时触发/运行以禁用
$('#ID').change()代码>
选择
文本1
文本2
我认为它只是$(“.Submitbtn”).attr('disabled')代码>。您正在收听按钮上的更改
——这些更改永远不会发生。您希望侦听select元素上的更改。请记住,每个文档只能使用每个id
值一次。啊,那么我需要听听下拉列表中的更改?我是否给它一个ID并以这种方式引用它?只要你确保你给它的ID
是唯一的,那就行了。看起来你的select
已经有了一个ID\ID
。此外,提交按钮的id是submit
,因此它将是$(“#提交”)。如果您设法访问.attr(“已禁用”),请单击(函数()…
)…
那么,看看哪种方法有效应该是一个简单的尝试和错误的例子-但你错的是选择器,而不是.attr
快捷方式。当Submit按钮处于活动状态时,我单击它以进入另一个视图。如果我浏览回此页面,DDL仍然具有已选择的值,但Submit按钮仍然是我变灰大概是因为它默认了?有办法刷新缓存吗?如果是这样的话?你需要抓住浏览器的后退按钮,重新运行$(“#ID”).change();
(我脑子里有很多这样的问题)
<select id="ID" name="ID">
$("#ID").change(function() { if $(this).text() == "Choose") {...
$("#Submit").attr("disabled", "disabled");