如果某些属性长度等于某个值,则检查每个 jquery,并向所有元素添加一些 class,该属性将适合 if 语句
Check in jquery each if some attribute length is equal to something and add some class to ALL elements which attribute will fit to if statement
我有一个表单,想要进行验证,但不是单独进行验证,每个都想进行验证,因此不会编写额外的代码。下面是我的代码
jQuery(".editable_addressItem_parent input[type=text]").each(function () {
if (jQuery(this).prev("label").children("abbr").length == 1) {
jQuery(this).parent().addClass('invalidinput');
jQuery(this).css({'border':'1px solid #ff0000'});
valid = false;
return false;
}else{
jQuery(this).css({'border':'1px solid #5ee1a2'});
}
});
这是标记
<div class="shipping_address_wholewrap shipping_default_address editable_addressItem_parent">
<div class="shipping_address address_block one_address_item editable_addressItem" id="shipping_address_1">
<p class="form-row form-row form-row-first validate-required formrow_editscreen" id="shipping_first_name_field">
<label for="shipping_first_name" class="" style="display: inline;">First Name
<abbr class="required" title="required">*</abbr>
</label>
<input type="text" class="input-text editable_fields" name="shipping_first_name[]" id="shipping_first_name" placeholder="Type here..." value="Test two" style="border: 1px solid rgb(255, 0, 0);">
</p>
<p class="form-row form-row form-row-last validate-required formrow_editscreen shipping_last_name_field_editscreen" id="shipping_last_name_field">
<label for="shipping_last_name" class="" style="display: inline;">Last Name
<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text editable_fields" name="shipping_last_name[]" id="shipping_last_name" placeholder="Type here..." value="Testing">
</p>
<div class="clear"></div>
<p class="form-row form-row form-row-wide address-field update_totals_on_change validate-required formrow_editscreen" id="shipping_country_field">
<label for="shipping_country" class="" style="display: inline;">Country / Region
<abbr class="required" title="required">*</abbr>
</label>
<select name="shipping_country[]" id="shipping_country" class="country_to_state country_select shipping_address_select_editscreen editable_fields">
<option value="">Select a country…</option>
<option value="AX">Åland Islands</option>
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
</select>
</p>
</div>
<div class="shipping_default_addresswrap">
<input type="checkbox" class="default_shipping_address" checked="" value="true"> Default address
<input type="hidden" class="hidden_default_shipping_address" name="shipping_address_is_default[]" value="true">
</div>
使用此代码它可以工作,但仅适用于第一次输入。我如何更新代码,以便它适用于所有无效或空的输入字段?
提前致谢。
在我看来,退出每个循环的 return 错误。
看看这个fiddle -> https://jsfiddle.net/5hewdf4p/1/
** html **
<p>test</p>
<ul id="obj">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
** js **
$(document).ready(function(){
$('#obj li').each(function(eq,elem){
$('body').append('<p>"li" text is '+$(elem).text()+'</p>');
if($(elem).text() == 1)
{
return false;
}
});
});
if 表达式立即由第一个对象验证,并且 returnif 语句中的 false 退出循环。
希望这对您有所帮助。
我有一个表单,想要进行验证,但不是单独进行验证,每个都想进行验证,因此不会编写额外的代码。下面是我的代码
jQuery(".editable_addressItem_parent input[type=text]").each(function () {
if (jQuery(this).prev("label").children("abbr").length == 1) {
jQuery(this).parent().addClass('invalidinput');
jQuery(this).css({'border':'1px solid #ff0000'});
valid = false;
return false;
}else{
jQuery(this).css({'border':'1px solid #5ee1a2'});
}
});
这是标记
<div class="shipping_address_wholewrap shipping_default_address editable_addressItem_parent">
<div class="shipping_address address_block one_address_item editable_addressItem" id="shipping_address_1">
<p class="form-row form-row form-row-first validate-required formrow_editscreen" id="shipping_first_name_field">
<label for="shipping_first_name" class="" style="display: inline;">First Name
<abbr class="required" title="required">*</abbr>
</label>
<input type="text" class="input-text editable_fields" name="shipping_first_name[]" id="shipping_first_name" placeholder="Type here..." value="Test two" style="border: 1px solid rgb(255, 0, 0);">
</p>
<p class="form-row form-row form-row-last validate-required formrow_editscreen shipping_last_name_field_editscreen" id="shipping_last_name_field">
<label for="shipping_last_name" class="" style="display: inline;">Last Name
<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text editable_fields" name="shipping_last_name[]" id="shipping_last_name" placeholder="Type here..." value="Testing">
</p>
<div class="clear"></div>
<p class="form-row form-row form-row-wide address-field update_totals_on_change validate-required formrow_editscreen" id="shipping_country_field">
<label for="shipping_country" class="" style="display: inline;">Country / Region
<abbr class="required" title="required">*</abbr>
</label>
<select name="shipping_country[]" id="shipping_country" class="country_to_state country_select shipping_address_select_editscreen editable_fields">
<option value="">Select a country…</option>
<option value="AX">Åland Islands</option>
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
</select>
</p>
</div>
<div class="shipping_default_addresswrap">
<input type="checkbox" class="default_shipping_address" checked="" value="true"> Default address
<input type="hidden" class="hidden_default_shipping_address" name="shipping_address_is_default[]" value="true">
</div>
使用此代码它可以工作,但仅适用于第一次输入。我如何更新代码,以便它适用于所有无效或空的输入字段?
提前致谢。
在我看来,退出每个循环的 return 错误。
看看这个fiddle -> https://jsfiddle.net/5hewdf4p/1/
** html **
<p>test</p>
<ul id="obj">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
** js **
$(document).ready(function(){
$('#obj li').each(function(eq,elem){
$('body').append('<p>"li" text is '+$(elem).text()+'</p>');
if($(elem).text() == 1)
{
return false;
}
});
});
if 表达式立即由第一个对象验证,并且 returnif 语句中的 false 退出循环。
希望这对您有所帮助。