使用ajax将变量传递给post方法

时间:2013-10-04 20:15:15

标签: php ajax

您好我正在尝试将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},
某种程度上它根本没有传递任何东西。哪里可能是问题?

3 个答案:

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

等事件发出ajax请求

答案 2 :(得分:0)

您正在寻找属性名称'$ id'和'$ idc',但您的属性被称为'id'和'idc',因此ididc变量将是未定义的

这应该可以解决问题:

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 },
    // ...
});