生成复选框列表并在php / js中迭代它们的数组

时间:2011-11-02 00:57:12

标签: php javascript arrays post checkbox

好的,我很难过,在这段代码中查看超过3个小时。

我生成一系列复选框,如下所示:

<?php

while($row=mysql_fetch_array($result)){
// here generate some more html...   
    echo '<table><tr><td><input type="checkbox" name ="ordered" onchange="checked()"/></td></tr>'
echo "</table>";
?>

我有两个这样的js函数:

<head>
<script>
function removeDuplicateElement(arrayName){
  var newArray=new Array();
  label:for(var i=0; i<arrayName.length;i++ ){  
    for(var j=0; j<newArray.length;j++ ){
        if(newArray[j]==arrayName[i]) 
            continue label;
    }
    newArray[newArray.length] = arrayName[i];
  }
  return newArray;
}

var array = new Array();
function checked(){
var chkOrd = document.myForm.ordered;

    for (i=0; i < chkOrd.length; i++){
        if(chkOrd.checked){
            array.push(chkOrd[i]);
            //document.myForm.hid.value =chkOrd[i].value;
            document.myForm.hid.value += removeDuplicateElement(array);
            //alert("kliknuto je na " + array[1]);
        }
    }
}

</script>
</head>

当我用以下信息将信息发布到php:

$hid = $_POST['hid'];
echo $hid;

我总是得到空数组,就像没有复选框传递给php一样。我知道php只发送已选中的复选框,但即使有复选框,我的数组也是空的......我认为生成的复选框有一些问题,因为我甚至无法获得单项复选框数组。

提前谢谢你......

0 个答案:

没有答案