是否可以使用我的结帐页面上的所有输入进行此操作? - 所以我不需要像现在这样做新的一个?
$(document).ready(function(){
$('#checkout-firstnamea').blur(function(){
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
});
$(document).ready(function(){
$('#checkout-lastnamea').blur(function(){
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
});
答案 0 :(得分:1)
由于处理程序的内容相同,您只需要一个选择器来选择所有目标元素。例如,这将精确选择那些两个输入:
$('#checkout-firstnamea, #checkout-lastnamea')
或者这会选择所有文字输入:
$('input[type="text"]')
或者这将选择页面上的所有输入:
$('input')
或输入并选择:
$('input, select')
或指定容器元素中的所有输入和选择:
$('#someContainer input, #someContainer select')
等
基本上,制作您的选择器以识别您想要识别的全部内容。相同的处理程序将应用于所有匹配的元素。您可以在jQuery文档中使用 wide 种选择器,它们可以以您需要的任何方式组合。
答案 1 :(得分:0)
您只需将Set
分隔的ID添加到同一位置,然后只使用,
一次:
blur
$('#checkout-firstnamea, #checkout-lastnamea').blur(function() {
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
也可以做到这一点,但这将选择所有输入而不考虑其类型:
$('input')
但是如果你想定位你可以使用的特定输入类型(在这种情况下我们的目标是$('input').blur(function() {
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
类型,但它可以是text
等):
checkbox, email, tel
这适用于$('input[type="text"]').blur(function() {
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
类型的输入。另一种方式(我认为这是一种更好的方法)是在你想要定位的元素上使用相同的text
。
答案 2 :(得分:0)
这在jquery中很简单。您可以选择所有输入:
$('input') // This will select all of the inputs on your page.
如果您只想选择input type="text"
,可以执行以下操作:
$('input[type="text"]')
如果您只想选择input type="checkbox"
,可以执行以下操作:
$('input[type="checkbox"]')
如果您想循环选择,可以执行以下操作:
$('input[type="text"]').each(function(){
$(this) // here it is your current input element which is a textbox
})
答案 3 :(得分:0)
您只需使用输入选择器而不是id:
$(document).ready(function(){
$('input[type="text"]').blur(function({
if (this.value == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
}));
});
如果它在特定表格上,您可以使用:
$('#yourformid input[type="text"]')
而不是:
$('input[type="text"]')
答案 4 :(得分:0)
可以通过一些普通的课程轻松实现。
为此,需要为所需元素添加公共类:
如下所示,假设checkout_fields
是您的公共类,请执行以下操作:
<input type="text" name="checkout-firstnamea" class="checkout_fields" id="checkout-firstnamea">
<input type="text" name="checkout-lastnamea" class="checkout_fields" id="checkout-lastnamea">
$(document).ready(function(){
$(document).on("blur",".checkout_fields",function(){
if ($(this).val() == "") {
$(this).removeClass("asd");
$(this).addClass('asd-red');
}
});
});