0

您好我正在尝试将 2 个变量从选择菜单传递给 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},

某种它根本没有通过任何东西。问题可能出在哪里?

4

3 回答 3

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}
});
于 2013-10-04T20:22:48.703 回答
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
           }
           });

建议:可能需要对某些事件发出 ajax 请求,例如onchange

于 2013-10-04T20:23:14.143 回答
0

您正在寻找属性名称“$id”和“$idc”,但您的属性称为“id”和“idc”,因此idandidc变量将未定义。

这应该可以解决问题:

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 },
    // ...
});
于 2013-10-04T20:23:47.727 回答