【问题标题】:how to check checkbox in javascript loop如何在javascript循环中选中复选框
【发布时间】:2016-03-31 07:31:41
【问题描述】:

我已经从 php 循环中为我的复选框获取了 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; 
}

【问题讨论】:

  • 您应该将$ids = array(); 声明为一个数组,然后在添加一个值时执行$ids[] = id 而不是$ids .= $id,因为就像您所做的一样,$ids 是一个字符串而不是数组,所以您不能就可以了
  • 非常感谢,我把 javascript 改成了这个,它对我有用!! var cbs = document.getElementsByClassName("checkbox"); for (var i = 0; i

标签: javascript php ajax checkbox


【解决方案1】:

试试这个:

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

【讨论】:

    猜你喜欢
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多