这是我的例子:http://jsfiddle.net/moolood/jLfxD/
HTML:
<input type="text" id="child1" name="child1" value="" >
<input type="text" id="child2" name="child2" value="">
<input type="text" id="child3" name="child3" value="">
<button id="button">check</button>
JS:
$('#button').click(function() {
if ($('input[name^="child"]').val().length == 0) {
alert('one or several fields are empty');
}
else {
alert('good!!!');
}
});
我想做的是,如果所有名称以“child”开头的输入的值> 0,则执行某些操作。
在我的示例中,我注意到如果 3 个输入值长度之一优于 0,它就会执行某些操作。
如何编写所有3个字段值长度必须大于0的代码?
感谢您的帮助
您可以将
.is
与函数一起使用:http://jsfiddle.net/jLfxD/1/。
var isEmpty = function() {
return $(this).val().length === 0;
};
$('#button').click(function() {
if ($('input[name^="child"]').is(isEmpty)) {
// if one or more are empty: `.is` returns true
// as soon as one element satisfies the function
alert('one or several fields are empty');
}
else {
alert('good!!!');
}
});
假设您只是检查长度,您可以尝试以下操作。
$('#button').click(function() {
var accepted = true;
$('input[name^="child"]').each(function(i) {
accepted= $(this).val().length > 0 && accepted;
});
alert(accepted);
});
如果您需要检查大于 0 的数字值(很难通过您的问题判断),您可以尝试解析该值并进行检查。
.filter()
函数对每个匹配的元素执行条件。
var children = $('input[name^="child"]').filter(function(index) {
return $(this).val().length == 0;
});
if (children.length > 0)
{
alert('one or several fields are empty')
}