我从db-table中获取用户记录,如
<?php $row=1; ?>
<select id="status<?php echo $row; ?>" name="status<?php echo $row; ?>">
<option value="0">Active</option>
<option value="1">Block</option>
</select>
<?php $row++; ?>
----------------------------------------
Name Status
----------------------------------------
Abc Active
Def Block
Ghi Active
Jkl Block
----------------------------------------
其中status是下拉状态,每个用户有两个状态,如果我想更改任何用户的状态,那么我从该下拉列表中选择一个选项,同时状态必须在db-table中更新。 为此,我编码:
for(var r=1; r<=4; r++){
$("status").each(function() {
var sld = $("#status").val();
alert(sld);
$.ajax({
type: "POST",
url: "response.php",
data: "sld="+sld,
success: function(msg){
alert(msg); // this is the response
}
});
});
}
但是for循环不会为每个下拉列表创建脚本....
答案 0 :(得分:0)
$('status')
会选择节点名称为status
的元素。你有吗?或者你的意思是$('.status')
?
答案 1 :(得分:0)
您需要删除for循环,并使用此代码。 我的事件现在是“改变”,它将提交两个变量,“id”和“sld”。然后,您更新您的PHP脚本以检查$ _POST ['id']和$ _POST ['sld'],然后将这些更新到数据库中。
为每个下拉列表添加class =“status”。
$(".status").change(function() {
var sld = $(this).val();
alert(sld);
$.ajax({
type: "POST",
url: "response.php",
data: { "sld": sld, "id":$(this).attr('id').replace('status','') },
success: function(msg){
alert(msg); // this is the response
}
});
});
答案 2 :(得分:0)
我认为你有多个具有相同ID的元素,这将是无效的HTML。
为您的选择框添加一个类,然后您可以使用类似的东西。
$("select.status").each(function() {
var sld = this.value;
alert(sld);
$.ajax({
type: "POST",
url: "response.php",
data: "sld="+sld,
success: function(msg){
alert(msg); // this is the response
}
});
});
此外,我没有在示例中找到任何for循环的使用。