gpt4 book ai didi

jQuery 选择器仅选择第一个元素

转载 作者:行者123 更新时间:2023-12-01 02:16:08 25 4
gpt4 key购买 nike

我有一个关于使用 jquery 的小问题。我有以下代码:

<html> 
<head>

<script src="jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(){
if(!$(':text').val()){
$("span").text("sdfgsd").show();

};return false;
})
});
</script>
</head>
<body>
<form action="" id="ff" >
<span></span>
<input type="text" name="test" /> <br />
<input type="text" name="test3" /> <br />
<input type="checkbox" name="test2" /> <br />
<input type="submit" value="push it" />
</form>

</body>

问题是选择器仅针对第一个文本框激活。如果您在第一个文本框中输入值,则不会激活触发器。 :text 或 :input 都无法正常工作。

有人有什么想法吗?

提前致谢,丹尼斯

最佳答案

匹配多个元素的 jQuery 选择器上的 val() 函数返回第一个匹配元素的值。您需要循环遍历所有元素并检查每个元素的值。

$(document).ready(function(){
$("form").submit(function(){
var inputsHaveValues = true;
$(':text').each( function() {
if (!$(this).val()) {
inputsHaveValues = false;
break;
}
});

if (!inputsHaveValues) {
$("span").text("sdfgsd").show();
return false;
}
})
});

关于jQuery 选择器仅选择第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5370887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com