如何检查javascript循环中的复选框

时间:2016-03-30 22:52:41

标签: javascript php ajax checkbox

我已经从我的复选框的php循环中获取了id,并将它们作为字符串传递(可能不是因为我无法用逗号分割它们),然后我需要检查是否在javascript中选中了复选框我经过的ids。 我似乎也不能在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; 
}

1 个答案:

答案 0 :(得分:0)

试试这个:

<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>