1

ショッピングカートを持っています。私のカートには、次のように各アイテムに対する削除ボタンがあります。

....
<tr style="text-size:0.8em">
    <td>Music CD</td><td>23</td><td>£51.89</td>
    <td>
        <form method="post" action="" class="remove">
        <input type="hidden" name="pid" value="1" />
        <input type="image" src="http://.../.../delete.png" name="remove" class="remove" value="x" text="x"/>
        </form>
    </td>
</tr>
<tr style="text-size:0.8em">
    <td>DVD</td><td>5</td><td>£12.23</td>
    <td>
        <form method="post" action="" class="remove">
        <input type="hidden" name="pid" value="2" />
        <input type="image" src="http://.../.../delete.png" name="remove" class="remove" value="x" text="x"/>
        </form>
    </td>
</tr>
....

AND JQuery

jQuery('.remove').submit(function(data) {
    // Validate & remove item from cart stuff 
    return false;
});

私のフォームはフォームを投稿することで機能しますが、それを修正したいと思います。

バスケットから削除するpidをjQueryに指示するにはどうすればよいですか?

jQueryスクリプトがバスケットから削除する特定の製品(pid)を認識できるように、htmlとjsを変更するにはどうすればよいですか?

わかりやすくするために...この例には2つの形式があることがわかります。カートにさらに多くのアイテムがある場合、より多くのフォームがあります...フォーム間の唯一の違いがpidである場合、どのフォームが送信されたかをjQueryにどのように伝えることができますか?

4

2 に答える 2

2

グレイビー、あなたがあなたの問題を解決したことを知ってうれしいです。

以前のマークアップ(質問に投稿されたもの)を使用する別の方法を次に示します。

$(".remove").click(function(e) {
    pid = $(this).siblings("#name").attr("value");
    // You got the pid. Continue by removing this pid from your cart
});

また

$(".remove").click(function(e) {
    pid = $(this).siblings("input:hidden").attr("value");
    // You got the pid. Continue by removing this pid from your cart
});

そうすれば、削除ボタンを乱雑にする必要がありません。

PS:返信が遅くなってすみません。私は答えのためにいくつかの参考文献をチェックしていました。:)

于 2013-01-03T01:13:03.867 に答える
0

アミールのおかげで問題は解決しました:

jQuery('.remove').click(function(data) {
    var pid = jQuery(this).attr('name');
    alert(pid);
    return false;
});

HTMLの変更

<input type="image" src="http://.../.../delete.png" name="1" class="remove" />

製品のpidを削除ボタンの名前に設定しました。

于 2013-01-03T01:04:17.007 に答える