0

私は、ajaxを介してページに2つの変数を渡す方法を探し回っています。現時点では、チェックボックスの動的機能がクリックするだけでその値をデータベースに保存するページがありますが、それが可能である必要があります。この時点でcertianidの行のみを編集するには、ここまで取得しましたが、行き詰まります。どんな助けでも大いに活用されるでしょう

$(function()
    {

    $("input[type='checkbox']").on('click', function(){
    var chkName = $(this).attr('checked');
    if($(this).is(":checked")) {
    var checkVal = $(':checkbox[checked='+chkName+']').attr('value');
    }
    else{
    var checkVal =$("#frm input:checkbox").attr("id");  
    }
    var userid = $(':checkbox[checked='+chkName+']').attr('name');
            $.ajax({
            type: "GET",
            url: 'request.php?uname=' + checkVal '&id'= + userid ,// this is where i cant send the &id varible across but i can send the checkVal 

            success: function(data) {

        if(data == 1){//Succues 
             alert('Data was saved in db!');
          }
        if(data == 0){//Faliure 
             alert('Data was NOT saved in db!');
          }
            }
    });
  });

  });

</script>
</head><body>
    <div class="content">
    <table border="0.02px" class="mytable">
    <thead>
    <th><strong>Paid</strong></th>
    <th><strong>Repaired</strong></th>
    <th><strong>Returned</strong></th>
    </thead>
    <tr>
            <form id="frm" name="frm">
                <td><input type="checkbox"  value="Paid"          id="Waiting on Payment"  name="29" /></td>
                <td><input type="checkbox"  value="Repaired"      id="Waiting on Repairs"  name="uname" /></td>
                <td><input type="checkbox"  value="With Student"  id="Awaiting Pickup"     name="uname" /></td>
            </form>
    </tr>
    </table>    
    </div>
4

3 に答える 3

1

現在、送信しようとしているurl変数にエラーがあります

現在:

url: 'request.php?uname=' + checkVal '&id'= + userid,

修正:

url: 'request.php?uname=' + checkVal + '&id=' + userid,
于 2012-05-04T02:55:45.517 に答える
1

コードの以下の行が正しくありません:

url: 'request.php?uname=' + checkVal '&id'= + userid ,

する必要があります:

url: 'request.php?uname=' + checkVal +'&id=' + userid,

var isChecked = $(this).prop('checked');チェックボックスのチェック済みステータスを取得するためにを使用することも検討してください。

行では、 chkNamevar chkName = $(this).attr('checked');の値は ' undefined 'になりますが、チェックボックスがオフになっている場合は、行のようになります。
var userid = $(':checkbox[checked='+chkName+']').attr('name');

私があなたのコードを正しく理解しているなら、あなたはこれを試すことができます:

$("input[type='checkbox']").on('click', function() {

    var $this = $(this);
    var isChecked = $this.prop('checked');

    var checkVal = isChecked ? $this.attr('value') : $this.attr("id");

    var userid = $this.attr('name');

    $.ajax({
        type: "GET",

        //url: 'request.php?uname=' + checkVal '&id' = +userid,
        url: 'request.php?uname=' + checkVal +'&id=' + userid,

        // this is where i cant send the &id varible across but i can send the checkVal
        success: function(data) {

            if (data == 1) { //Succues
                alert('Data was saved in db!');
            }
            if (data == 0) { //Faliure
                alert('Data was NOT saved in db!');
            }
        }
    });
});
于 2012-05-04T03:09:57.977 に答える
0

jqueryから.serializeを探していると思います。ここでAPIを確認できます。例もあります。シリアル化されたデータを渡す方法の例を実行してください。

サーバーエンドの後半で$_POST['<your input name here>']、値を取得する必要があります。さらに、サーバーから値を取り戻そうとしているようです。いつでもecho json_encode(<your data object here>)サーバー側に送信できます。

于 2012-05-04T02:44:33.180 に答える