0

データベースからの動的データを含むテーブルがあり、各行はテキスト フィールドと 2 つのリンク (承認または拒否) で構成されています。ユーザーがこれらのリンクのいずれかをクリックすると、行が消え、残りの行はテーブルにのみ表示されます。

各リンクをクリックして ajax を使用して各行の ID を取得しますが、テキスト フィールドの値も取得する必要があります。どうすれば入手できますか?php + sqlを使用してデータベースに挿入する必要がある値を取得した後、ajaxの原因が必要です。

これはリンクの私のajax部分です:

 $('a.accept').click(function(d) {
    d.preventDefault();
    var parent = $(this).parent();
    $.ajax({
      type: 'get',
      url: 'Test.php',
      data: 'ajax=1&accept=' + parent.attr('id').replace('record-',''),
      beforeSend: function() {
        parent.animate({'backgroundColor':'#fb6c6c'},300);
      },
      success: function() {
        parent.slideUp(300,function() {
          parent.remove();
        });
      }
    });
  });

});

テキストフィールドの値を含めるにはどうすればよいですか?

私は本当にそれを解決する必要がある私にコメントしてください、ありがとう

4

3 に答える 3

0

テキストを手動で GET リクエストに追加できます。

(スニペット)

data: 'ajax=1&accept=' + parent.attr('id').replace('record-','') + '&text=VALUE',

PHPtextで受け取りたい名前に置き換えます。取得VALUEしたいページに入力されたテキストに置き換えます。値をエンコードすることを忘れないでください。

于 2012-04-17T04:20:12.470 に答える
0

最初にテキストフィールドの ID の名前が必要になります。次に、次のようなことができます。

var textboxvalue = $('name or id of textfield').val();

次に、この値をデータ文字列に追加する必要があります。

data: 'ajax=1&textvalue='+textboxvalue+'accept=' + parent.attr('id').replace('record-',''),

次に$_GET['textvalue'];、テキストボックスの値を取得するために使用できます。

于 2012-04-17T04:21:27.073 に答える
0

以下を使用すると、準備完了です。また、余分な '});' がありました JSフラグメントの最後の行。取り除いてもらいました。ただし、次のパターンでテキスト フィールドに id を指定してください。

text-fld-RECORD_ID
どこ
RECORD_ID
レコードの ID です。

$('a.accept').click(function(d) {
    d.preventDefault();
    var parent = $(this).parent();
    var id = parent.attr('id').replace('record-','');
    //make sure that text field has ID in pattern 'text-fld-RECORD_ID'
    var text_fld = $('#text-fld-'+id).val();
    $.ajax({
      type: 'post', // I suggest using post; get will be harmful in such occasions
      url: 'Test.php',
      data: {ajax:1,accept:id,text:text_fld},
      beforeSend: function() {
        parent.animate({'backgroundColor':'#fb6c6c'},300);
      },
      success: function() {
        parent.slideUp(300,function() {
          parent.remove();
        });
      }
    });  
});
于 2012-04-17T04:53:21.940 に答える