如何自动启用保存按钮

时间:2016-12-17 22:48:48

标签: javascript jquery

我想仅在用户选中复选框并在输入字段中写入一些文本时自动启用此保存按钮。我不知道我在这里缺少什么,或者是否有其他方法可以做同样的事情。

jQuery("input[type='text']").on("keyup", function () {
  validate();
});

function validate(){
  jQuery("input[type='text']").each(function(){

    if (jQuery(this).val() != "" )
    {
      if((jQuery("#groupidtext").val() !="") && (jQuery(".cate").is(':checked')))
      {

        jQuery("#save_me").removeAttr("disabled"); 
      }
      else {
        jQuery("#save_me").attr("disabled", "disabled");
      }
    } 
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="groupidtext" type="text" maxlength="50" />
<input class="cate" type="checkbox"/><label for="1">One</label>
<input type="submit" disabled="disabled" id="save_me" value="Save"/>

1 个答案:

答案 0 :(得分:2)

您的代码很好,您也只是听取复选框更改:

jQuery("input[type='checkbox']").on("change", function () {
    validate();
});

注意:当您跟踪input上的用户更改时,使用keyup事件代替input效率更高。

jQuery("input[type='text']").on("input", function () {
    validate();
});

希望这有帮助。

&#13;
&#13;
jQuery("input[type='text']").on("input", function () {
  validate();
});

jQuery("input[type='checkbox']").on("change", function () {
  validate();
});

function validate(){
  jQuery("input[type='text']").each(function(){

    if (jQuery(this).val() != "" )
    {
      if((jQuery("#groupidtext").val() !="") && (jQuery(".cate").is(':checked')))
      {

        jQuery("#save_me").removeAttr("disabled"); 
      }
      else {
        jQuery("#save_me").attr("disabled", "disabled");
      }
    } 
  });
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <input id="groupidtext" type="text" maxlength="50" />
  <input class="cate" type="checkbox"/><label for="1">One</label>
  <input type="submit" disabled="disabled" id="save_me" value="Save"/>

</form>
&#13;
&#13;
&#13;

相关问题