JQuery.each有时会失败
在一堆复选框上循环有时会失败。 选中部分或所有复选框时,不会输入.each函数,因此即使存在“已选中”复选框,我也会收到“未选中复选框”警报JQuery.each有时会失败,jquery,Jquery,在一堆复选框上循环有时会失败。 选中部分或所有复选框时,不会输入.each函数,因此即使存在“已选中”复选框,我也会收到“未选中复选框”警报 $(document).ready(function() { $("#submitme").click(function() { var urls = []; $("#edit :checked").each(function() { var obj = {}; obj.url = $(this).val();
$(document).ready(function() {
$("#submitme").click(function() {
var urls = [];
$("#edit :checked").each(function() {
var obj = {};
obj.url = $(this).val();
urls.push(obj);
});
if (0 < urls.length) {
$.post('/myurl', {urls: JSON.stringify(urls)});
}
else {
alert("no checkboxes were checked!");
}
});
});
<div id="edit">
<input type="checkbox" name="first" value="first_url"/>
<input type="checkbox" name="second" value="second_url"/>
<button id="submitme">submit</button>
</div>
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var url=[];
$(“#编辑:选中”)。每个(函数(){
var obj={};
obj.url=$(this.val();
推送(obj);
});
if(0
对我来说似乎很好: 确保代码中其他地方没有javascript错误。您的选择器应该是
$(“#编辑输入:选中”)我认为您有一些语法问题。尝试:
$(document).ready(function() {
$("#submitme").click(function() {
var urls = new Array();
$("#edit :checked").each(function() {
var obj = new Object();
obj.url = $(this).val();
urls.push(obj);
});
if (0 < urls.length){
$.post('/myurl', {urls: JSON.stringify(urls)});
}else {
alert("no checkboxes were checked!");
}
});
});
这个问题没有答案。这个问题只存在于Opera中,因此它与浏览器相关。一分钟后,我会在Fiddle中再次检查此问题发生时是否有错误,或者您是否可以重现此问题?把它扔进JSFIDLE,它似乎一次也没有失败……您的代码看起来不错,而且确实有效!看我的小提琴:页面上是否有其他可能会干扰的代码?这是您代码的精确副本还是您重新键入的?编辑:忍者,我发誓neal和bjorn的评论不在那里,当我开始输入时,这很有趣,当你把它拉到一个实际的页面,它不会解析。如果的
被弄糟了。在用JSLint更新了语法之后,问题仍然存在。
Error:
Problem at line 2 character 25: Use the array literal notation [].
var urls = new Array();
Problem at line 4 character 21: Use the object literal notation {}.
var obj = new Object();
Problem at line 9 character 7: Expected '{' and instead saw 'console'.
console.log(urls)
Problem at line 9 character 24: Missing semicolon.
console.log(urls)
Problem at line 11 character 7: Expected '{' and instead saw 'alert'.
alert("no checkboxes were checked!");
Implied global: $ 1,3,5, console 9, alert 11