2013-01-03 66 views
1

我有購物車。我的車中有消除對每個項目的按鈕如下:jQuery Ajax從購物車中刪除特定商品

.... 
<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> 
.... 

和jQuery

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

我的作品的形式張貼的形式,但我希望它ajaxify。

如何告訴jQuery哪個pid從籃子中刪除?

如何修改html & js以便我的jQuery腳本知道從籃子中刪除哪個特定產品(pid)?

爲了清楚起見...您會看到在這個例子中有兩種形式。如果購物車中有更多商品,將會有更多的表單......所以如何才能告訴jQuery當表單之間的唯一區別是pid時,哪個表單被提交?

+0

如果沒有看到您要提交的文件,將很難有人徹底回答這個問題。你在使用什麼樣的購物車軟件?並在哪個平臺上? – Zak

+0

謝謝你的迴應。但我不同意。這與我提交的內容無關。我想要做的就是告訴jQuery哪個pid從購物車中刪除。我可以做其餘的事情。謝謝 – Gravy

+0

我的看法:處理事件'click'爲「刪除」按鈕,而不是表單的'submit'事件。現在你在哪裏保存物品? –

回答

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: 對不起,回覆遲了。我正在檢查幾個參考答案。 :)

+0

謝謝阿米爾...別擔心,我會信任你。 :) – Gravy

+0

感謝信用,肉汁。儘管如此,我只是想幫忙。 :) –

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設置爲刪除按鈕的名稱。

相關問題