2

データベースから生成された行 (tr) ごとに行の値を設定したいと考えています。したがって、次のテーブルが生成されているとしましょう。

while ($row = $database->fetch_array($result))
{
$i=1-$i;
$class = "row".$i;


echo "<tr class='{$class} productId' id='{$row['productId']}'>

<td > ". $row['category']."</td>
<td >" . $row['productNo']. "</td>
<td>" . $row['productName'].  "</td>
<td class='edit'>" . intval($row['quantity']).  "</td>
 <td>" . $row['sfLf'].  "</td>
<td>".  $row['cost']. "</td>
<td>".  $row['total']."</td>
  </tr>";
}

ここでは、id 属性を介して productId 値を渡そうとしましたが、残念ながら、次のスクリプトで取得しようとすると、すべての行で id が同じままです。

$(".productId").click(function() {
    $.ajax({
        type: "POST",
        url: "populateInventory.php",
        data: "productId="+$(".productId").attr('id'),
        success: function(msg){
          $("#invHistoryTable").html(msg);
        }
    }); 

上記の ajax コマンドを使用して正しい productId 値を PHP ページに渡すにはどうすればよいですか? ありがとうございました

4

1 に答える 1

1

メソッドを使用してpostいますが、文字列を送信しています。キーと値のペアを送信する必要がありますattr。イベントを発生させた要素ではなく、jQuery コレクションで最初に選択した要素の ID も返しますthis。クリックした要素を参照するキーワードを使用できます。

$(".productId").click(function(event) {
    // event.preventDefault();
    $.ajax({
        type: "POST",
        url: "populateInventory.php",
        data: { productId: this.id } ,
        success: function(msg){
          $("#invHistoryTable").html(msg);
        }
    }); 
})
于 2013-02-24T00:47:20.890 に答える