我有以下Jquery
$('#txtSearch_text').attrchange(function (attrName) {
if (counter > 0) {
var contains = $('#txtSearch_text').attr('class').indexOf("validation");
if ($('#txtSearch_text').val() == '' && contains <= -1) {
$('#txtSearch_text').addClass('validation');
}
else if ($('#txtSearch_text').val() != '' && contains >= 0) {
$('#txtSearch_text').removeClass('validation');
}
}
//counter = 1;
});
当txtSearch
文本框更改任何属性时,上述jquery将触发。它工作正常。但是我想在Jquery上面触发多个TextBox ..所以如果我有4个TextBox那么我将不得不为4个不同的TextBox编写Jquery 4次。
有没有办法在jquery上面只写一次所有TextBox?
由于
答案 0 :(得分:1)
您可以为所有四个文本框传递逗号分隔选择器。并在内部使用$(this)
来获取当前对象的引用。就像这样:
$('#txtSearch_text,#txtSearch_second,#txtSearch_third,#txtSearch_fourth').attrchange(function (attrName) {
if (counter > 0) {
var contains = $(this).attr('class').indexOf("validation");
if ($(this).val() == '' && contains <= -1) {
$(this).addClass('validation');
}
else if ($(this).val() != '' && contains >= 0) {
$(this).removeClass('validation');
}}});
答案 1 :(得分:1)
为所有4个元素添加一个像txtSearch_text
这样的公共类,然后将其用作选择器来定位它们
$('.txtSearch_text').attrchange(function (attrName) {
if (counter > 0) {
var contains = $(this).attr('class').indexOf("validation");
if ($(this).val() == '' && contains <= -1) {
$(this).addClass('validation');
} else if ($(this).val() != '' && contains >= 0) {
$(this).removeClass('validation');
}
}
//counter = 1;
});