首页 > 解决方案 > 灰色提交按钮在页面加载时不起作用

问题描述

我希望提交按钮在页面加载时显示为灰色,直到用户选择默认值“选择”以外的某个值。现在,如果用户更改值并将其更改回“选择”,它只会禁用按钮。它不应该在页面加载时处于非活动状态吗?应该在每个页面加载时调用 change() jquery 方法,对吗?

 $(".Field").change();

  $(".Field").change(function () {
            if ($("#ID option:selected").text() == 'Choose') {
                $("#submitButton").attr("disabled", "disabled");
            }
            else {
                $("#submitButton").attr("enabled", null);
            }
        });



  <div class="Field">
   @Html.DropDownListFor(x => x.ID, new SelectList(Model.Fields, "ID", "About"), "Choose")
 <.div>


     <div class="submitButton">
         <input name="submitButton" type="submit" id="submitButton" value="Submit" />
     </div>
  

标签: jqueryasp.net-mvc

解决方案


将事件触发器移到处理程序下方并尝试。

$(".Field").change(function () {
    if ($("#ID option:selected").text() == 'Choose') {
        $("#submitButton").prop("disabled", "disabled");
    }
    else {
        $("#submitButton").prop('disabled', false);
    }
});

$(".Field").change();

推荐阅读