如何在javascript循环中选中复选框


how to check checkbox in javascript loop

我已经从php循环中获取了我的复选框的id,并在参数中以字符串形式传递它们(可能不是因为我不能用逗号分割它们),然后我需要检查是否使用我传递的id在javascript中选中了复选框。我似乎也不能用javascript来分割它,在我运行for循环后,数据在新字符串中是未定义的。你有什么想法吗?请帮助

这是我的php

echo "<div id='addstock'>";
$ids = '';
while($row_add = mysqli_fetch_array($result_add)){
    $id=$row_add['id'];
    $company = $row_add['companyname'];
    //create checkbox for company
    echo "<p class='checkbox'><input type='checkbox' name='stocks' id='".$id."' value='".$id."'>".$company."</p><br>";
    $ids .= $id;
}
echo "</div>"; 
echo "<p class='input'><input type='submit' class='submitbutton' value='Submit' onclick='updatetable(".$ids.",".$user.")'></p>";

这是我的javascript

//update table after add to stock
function updatetable(ids,user){
var url = "update.php";
//var res= ids.split(" ");
alert(ids);
var stocks = "";
 //check if the checkbox is checked
for(var id in ids){
    if(document.getElementById(ids[id]).checked)
    {   
        stocks += ids[id];
        alert(ids[id]);
    }
}
//alert(stocks);
var data = "ids="+stocks+"&user="+user;
alert(data);
ajaxRequest(url, "POST", data, true, proceedUpdate);    
}
function proceedUpdate(response){
target_div = document.getElementById("tablediv");
target_div.innerHTML = response; 
}

试试这个:

<div id="addstock">
<?php
$ids = array();
while($row = mysqli_fetch_array($result_add)) {
    $ids[] = $row_add['id'];
    echo '<p class="checkbox"><input type="checkbox" name="stocks" id="' . htmlspecialchars($id) . '" value="' . htmlspecialchars($id) . '">' . htmlspecialchars($company). '</p><br>' . "'n";    
}
?>
</div>
<p class="input">
    <input type="submit" class="submitbutton" value="Submit" onclick="updatetable('<?php echo htmlspecialchars(implode(',', $ids)); ?>', '<?php echo htmlspecialchars($user); ?>')">
</p>