-1

我有一个小问题。我想对表单上的所有输入使用通用函数来验证表单。该函数处理不同类型输入的复杂性等。

对函数的调用如下所示:

$(":input[type='text']").blur(function() {validateMe($(this).attr("id"), button_arr);});

这里的问题是这$(this)似乎只适用于“模糊”的第一个元素,因此在第一个元素应用第一个选择器模糊之后发生的任何模糊事件,如果这有意义吗?

button_arr部分没有任何意义。

有没有办法将 应用$(this)到集合中指定的每个元素$(":input[type='text']")

谢谢你的帮助!

4

2 回答 2

4

我猜你的意思是:

$("input[type='text']").each(function () {
    $(this).blur(function () {
        validateMe(this.id, button_arr);
    });
});
于 2013-06-21T13:54:00.900 回答
-1

我猜

$("input[type='text']").blur(function() {
    validateMe(this.id, button_arr);
});

也应该这样做?为什么在选择器中使用冒号?我认为它返回一个集合。所以你可以摆脱不必要的每个循环

编辑:

我猜你的意思是选择器“:input”,而不是“:input [type ='text']”?因为您的选择器仅选择属性“type”设置为“text”的输入字段。也许你只是得到其中之一?“textarea”、“button”和“select”没有值为“text”的属性“type”

于 2013-06-21T14:01:19.063 回答