【发布时间】:2015-02-04 12:45:15
【问题描述】:
我有一个 ObjectHtmlInputElement:
for($array as $a){
echo '<input type="checkbox" name="check[]" value="'.$a.'">';
}
Javascript:
function myForm(){
var theForm=document.getElementById("myCheck");
var a = theForm.elements['check[]'];
for( var i=0; i<a.length; i++){
if(a[i].checked){
alert( a[i].value );
return true;
}
}
}
此脚本检查是否至少选中了一个复选框,然后返回 true(也可以选中更多复选框)。我需要在 alert() 中输出已选中的每个复选框(每个通过的对象值 ' a[i].checked')。 a[i].value ,只输出第一个值,所以我需要别的东西。
根据“dec”和“vijay”的回答,我设法找到了解决方案:
var checkedCheckboxes="";
for( var i=0; i<a.length; i++){
if(a[i].checked){
checkedCheckboxes += a[i].value;
}
}
for( var i=0; i<a.length; i++){
if(a[i].checked){
alert('Checked: ' + checkedCheckboxes);
return true;
}
}
确实循环停止了,因为如 dec 所说的 return true。解决方案是创建另一个循环,并将所有值插入变量中,以便我可以在警报中使用它。 p>
【问题讨论】:
-
所以在函数内部有一个标志,并在循环之后返回那个标志。在循环内部,您只需调整标志。
-
为什么不在循环中建立一个字符串,然后,如果字符串有内容,警告?
-
请举一些例子?我是 javascript 的新手
-
也许您想详细说明您想要实现的目标(而不是您想要如何实现它)。也许这是一个 XY 问题,meta.stackexchange.com/questions/66377/what-is-the-xy-problem
-
如果你解决了它,请不要忘记接受正确的答案,或者如果没有任何答案,请发布你自己的解决方法。
标签: javascript php object