您好我正在尝试将2个变量从select菜单传递给ajax POST代码。
这是选择菜单:
<?php echo "<select name='status' id='$id' idc='$idc'>" ?>
在这里我不确定这是否属于这样宣布。我的意思是把变量放在选择菜单中。
之前声明变量:
$idc = $row['userID'];
所以这就是我将变量发送到POST方法
selectstatus = $("select[name=status]").val();
var id = $(this).attr('$id');
var idc = $(this).attr('$idc');
$.ajax({
type: "POST",
url: "selectbackend.php",
data: {"selectstatus": selectstatus, "id": id, "idc": idc},
某种程度上它根本没有传递任何东西。哪里可能是问题?
答案 0 :(得分:0)
var sel = $("select[name='status']");
var id = sel.attr('id');
var idc = sel.attr('idc');
$.ajax({
type: "POST",
url: "selectbackend.php",
data: {"selectstatus": sel.val(), "id": id, "idc": idc}
});
答案 1 :(得分:0)
使用html5,您可以定义以data-
<?php echo "<select name='status' id='$id' data-idc='$idc'>" ?>
在客户端,您可以获得以下值
var selectstatus = $("select[name=status] option:selected").val();
var id = $("select[name=status]").attr('id');
var idc =$("select[name=status]").attr('data-idc');
$.ajax({
type: "POST",
url: "selectbackend.php",
data: {"selectstatus": selectstatus, "id": id, "idc": idc
}
});
建议:可能需要对onchange
答案 2 :(得分:0)
您正在寻找属性名称'$ id'和'$ idc',但您的属性被称为'id'和'idc',因此id
和idc
变量将是未定义的
这应该可以解决问题:
selectstatus = $("select[name=status]").val();
var id = $(this).attr('id'); // id, not $id
var idc = $(this).attr('idc'); // idc, not $idc
$.ajax({
type: "POST",
url: "selectbackend.php",
data: {"selectstatus": selectstatus, "id": id, "idc": idc },
// ...
});