1

以下のように、各配列エントリのコンテンツを含むフォームを出力するforeachループがあります。

$cartOutput .= '<td><form action="cart.php" method="post">
        <input name="quantity" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" id="quantity" />
        <input name="adjustBtn' . $item_id . '" type="submit" value="change" id="adjustBtn" hidden="true" />
        <input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
        </form></td>';

ご覧のとおり、送信ボタンには、アイテムに応じて一意の名前が割り当てられています。

私のjqueryファイルには次のようなものがあります。

$('#quantity').change(function(){
$("[name^=adjustBtn]").closest("form").submit();

});

これはページの最初のフォームで機能しますが、追加のフォームは変更時に自動送信されません。name^ = AdjustBtnエントリがすべての異なるボタンを取得していると思いますが、どのボタンを送信するかなどを指示する方法がわかりません。

4

1 に答える 1

1

あなたが必要なようです

$('[name="quantity"]').change(function(){
   $(this).closest("form").submit();
});

あなたのIDは必要ないようです。また、特定のIDを持つ要素を複数持つことはできないことに注意してください(コード内の「quantity」と「adjustBtn」の問題)。

于 2012-09-18T11:15:53.853 に答える