Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 灰显按钮,直到在下拉列表中选择某个值_Jquery_Asp.net Mvc - Fatal编程技术网

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");