在jQuery中的foreach对象/数组

我有一个问题,我的代码中有X ,现在我想将这个对象/数组预先输出。 – 看我的代码。

 $("#denied_seekrs").click(function() { if (!isCheckedById("selectname")) { alert ("Please select at least one event"); return false; } else { alert( $("input[@id=selectname]:checked").val() ); //submit the form } }); function isCheckedById(id) { var checked = $("input[@id="+id+"]:checked").length; if (checked == 0) { return false; } else { return true; } } 

当我在警报中输出它时,我得到一个对象,但如果我选择2复选框,那么这个2复选框中的值是什么。

我希望我能提供帮助,所有人都理解我:)

怎么样

 $("#denied_seekrs").click(function() { var checkedInputs = $("input:checked"); var test = ""; $.each(checkedInputs, function(i, val) { test += val.value+","; }); test = test.substring(0,(test.length-1)); alert(test); }); 

我不确定你在寻找什么,但我猜测jQuery.each()方法会有所帮助。 您可以使用它来迭代数组,对象等。

 var arr = [ "one", "two", "three", "four", "five" ]; jQuery.each(arr, function() { $("#" + this).text("My id is " + this + "."); return (this != "four"); // will stop running to skip "five" }); 

这样的事情怎么样:

  jQuery.each(checked, function() { $(checked + this).text("My id is " + this + "."); }); 

可能是 – 最终 – 你正在寻找$.serializeArray()$.serialize()

如果没有,那么也许这可以帮助你:

 $("#denied_seekrs").click(function() { if (!isCheckedById("selectname")) { alert ("Please select at least one event"); return false; } else { // prepare array of values var values = []; // prepare list of checked checkboxes var $checkboxes = $("input[@id=selectname]:checked"); // push each individual value into the array $checkboxes.each(function() { values.push( $(this).val() ); }); // debug output alert( values.join("\n") ); //submit the form } }); 

当我找到你的时候,你希望用户选择一个复选框(或者是一个或多个?)。 这应该这样做:

 $("#denied_seekrs").click(function() { var $checkedInputs = $("input:checked"); if ($checkedInputs.length != 1) { alert ("Please select one event"); return false; } alert( $checkedInputs.val() ); //submit the form }); 

编辑:再次阅读你的问题后,我意识到上面的代码没有回答你的问题。 但是,上述方法确实有效,并且是您解决方案的更短版本。 也许你想用它代替。 要回答您的问题,您可以提醒所有复选框的值,如下所示:

改变这个:

  alert( $checkedInputs.val() ); //submit the form 

对此:

  var values = ""; $checkedInputs.each(function(){ values += $(this).val() + " "; }); alert( values );