0

こんにちは、選択メニューから ajax POST コードに 2 つの変数を渡そうとしています。

選択メニューは次のとおりです。

<?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' と呼ばれているため、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 },
    // ...
});
于 2013-10-04T20:23:47.727 に答える