【发布时间】: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