轻松修改jQuery代码以使用多个文本框

时间:2011-09-03 22:46:05

标签: javascript jquery

如何更改以下代码以使用ID为extra1,extra2,person和tables的所有4个文本框?

$(document).ready(function () {
  $('#extra1').blur(function () {
        if ($.trim(this.value) == "") {
          $('#btnUpdate').attr("disabled", true);
        }
      else {
            $('#btnUpdate').removeAttr("disabled");
      }
    });
});

3 个答案:

答案 0 :(得分:2)

  $('#extra1').blur(function () {

  $('#extra1, #extra2, #persons, #tables').blur(function () {

答案 1 :(得分:2)

代码修改将是:

$(document).ready(function () {
  $('#extra1, #extra2, #persons, #tables').blur(function () {
        if ($.trim(this.value) == "") {
          $('#btnUpdate').attr("disabled", true);
        }
      else {
            $('#btnUpdate').removeAttr("disabled");
      }
    });
});

但是,为什么不给它们所有类,并使用该类作为选择器?这样,您可以在不更改Javascript的情况下轻松添加元素。

答案 2 :(得分:1)

使用jQuery delegate,它只会绑定一个事件处理程序,但只会对触发event的元素起作用。试试这个

Wokring demo

$(document).ready(function () {
  $('formSelector').delegate('input[type=text]', 'blur', function () {
      if ($.trim(this.value) == "") {
          $('#btnUpdate').attr("disabled", true);
      }
      else {
            $('#btnUpdate').removeAttr("disabled");
      }
    });
});