问题描述
@Html.DropDownListFor(x => x.ID,new SelectList(Model.Data,"ID","Info"),"Choose",new {@id = "DDL" }})
我希望此按钮显示为灰色。
<input name="Submitbtn" type="Submit" id="Submit" value="Submit"/>
我已经在条件中尝试了此方法,但是它根本没有改变按钮...
$('#DDL').change(function ()
{
if ($("#DDL option:selected").text() == 'Choose')
{
///which of these?
$(".Submitbtn").attr('disabled',true);
$("#Submitbtn").attr("disabled","disabled");
}
}
解决方法
从@id=
恢复到原始状态:
@Html.DropDownListFor(x => x.ID,new SelectList(Model.Data,"ID","Info"),"Choose")
将创建一个
<select id="ID" name="ID">
所以您的jquery应该是
$("#ID").change(function() { if $(this).text() == "Choose") {...
对于按钮本身,#SubmitBtn
必须与按钮ID相匹配,即Submit
(无Btn),并给出:
$("#Submit").attr("disabled","disabled");
更新的代码段:
$('#ID').change(function() {
if ($("#ID option:selected").text() == 'Choose') {
$("#Submit").attr("disabled","disabled");
} else {
$("#Submit").attr("disabled",null);
}
});
// trigger/run on startup to disable as default is Choose
$('#ID').change();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="ID">
<option>Choose</option>
<option value="val1">text 1</option>
<option value="val2">text 2</option>
</select>
<input name="Submitbtn" type="Submit" id="Submit" value="Submit" />