0

クリックされたテーブル行内のボタンごとに、付随する入力フィールドの値が取得され、クエリを実行する PHP ファイルにデータとして送信されるようにしたいと思います。

<script type="text/javascript">
    $("tr").each(function() {
          var password = $(this +" td input").val();

          $(this +" td button").click(function(){
              $.ajax({  
                  type:"POST",  
                  url:"script.php",  
                  data:"password="+ password,
              });
          });
     });
</script>
<?php
      for($i=0;$i<10;$i++) {
           echo "<tr>
                     <td>
                         <input type='text' maxlength='15' value=''/>
                        <button>Change</button>
                     </td>
                </tr>";
      }
?>

ただし、各行の入力フィールドとボタンを選択できないようです。何か案は?

4

1 に答える 1

2

オブジェクトをそのような文字列と連結して、有効なセレクターを取得することはできません。

次のいずれかのようにする必要があります。

$(this).find('td input')
$('td input', this)

また、ループは不要です。私は次のように単純化します:

$('button').click(function (e) {
    e.preventDefault();

    $.ajax({
        type: "POST",
        url: "script.php",
        data: "password=" + $(this).siblings('input[type=text]').val(),
    });

});
于 2013-10-24T15:09:54.553 に答える