代码之家  ›  专栏  ›  技术社区  ›  John Topley

动态启用/禁用表单提交按钮的规范jquery方法

  •  3
  • John Topley  · 技术社区  · 14 年前

    我正在编写一些JavaScript来处理在关联文本字段中输入某些文本时动态启用表单提交按钮的常见场景。多年来我一直在使用原型框架,但现在转到jquery。所以我惊讶地发现我的代码的jquery版本看起来有点笨拙。

    有没有一种方法可以避免在下面的jquery代码中引用第零个数组元素,或者通常使用更规范的jquery方法?

    <form action="...">
      <input id="subject" type="text" />
      <input id="save" type="submit" value="Save" disabled="disabled" />
    </form>
    <script type="text/javascript">
    
      // Prototype version
      $("subject").observe("keyup", function() {
        $("save").disabled = $("subject").value.length == 0;
      });
    
      // jQuery version
      $("#subject").keyup(function() {
        $("#save")[0].disabled = $("#name")[0].value.length == 0;
      });
    </script>
    
    1 回复  |  直到 14 年前
        1
  •  4
  •   Anurag    14 年前

    在jquery中,使用attr方法设置元素的属性。通过获取第一个项目 [0] 在jquery集中,您直接操作本机dom元素的 disabled 属性-不是jquery。

    $("#save").attr('disabled', true);
    
    $("#subject").keyup(function() {
        $("#save").attr('disabled', $("#name").val().length == 0);
    });