Php 使用JQuery捕捉多行(购物车)中的按钮按下
我正在编写一个购物车类型的功能,其中我在$(.ajax)调用中查询数据库中的大量项目(SKU、数量、名称)。我想显示一个表,其中包含所有与用户正在查找的内容相匹配的项目,并带有用户可以指定所需数量的选项。然后,他们可以单击“添加”将其选择添加到“购物车”中 下面是一个简化的示例:Php 使用JQuery捕捉多行(购物车)中的按钮按下,php,jquery,forms,Php,Jquery,Forms,我正在编写一个购物车类型的功能,其中我在$(.ajax)调用中查询数据库中的大量项目(SKU、数量、名称)。我想显示一个表,其中包含所有与用户正在查找的内容相匹配的项目,并带有用户可以指定所需数量的选项。然后,他们可以单击“添加”将其选择添加到“购物车”中 下面是一个简化的示例: <table> <tr><td>Item A</td><td>SKU: 001</td><td>Qty: <input na
<table>
<tr><td>Item A</td><td>SKU: 001</td><td>Qty: <input name="qty-sku001"> <input type="button" value="Add"></td></tr>
<tr><td>Item B</td><td>SKU: 002</td><td>Qty: <input name="qty-sku002"> <input type="button" value="Add"></td></tr>
<tr><td>Item C</td><td>SKU: 003</td><td>Qty: <input name="qty-sku003"> <input type="button" value="Add"></td></tr>
</table>
项目ASKU:001数量:
项目BSKU:002数量:
项目CSKU:00300数量:
单击按钮时,从一行中获取信息的理想方式是什么?
我正在考虑向每个按钮添加一个onclick=“AddToCart(x);”,但这只是传入一个HTML表单元素对象。我是否需要使每一行都成为自己的表单,或者我可以获取按钮的父TR,然后从该行的输入和其他元素中获取值
数据最终将被附加到“Cart”div的表中,因此我需要从ajax调用中加载的三段数据。我想我可以为每一行添加隐藏元素,但必须有一个更高效、更优雅的解决方案
谢谢 假设您使用jQuery,您可以使用:
$("input[type=button]").click(function(evn){
var rowName = $(this).prev().attr('name'); // this will give you the name attribute of element that is before the button in the DOM
// do here whatever you need with rowName
});
编辑
您可以向按钮添加一个类,以防止对页面上的所有按钮运行此代码,如下所示:
<input class="row-button" type="button" value="Add">
$tr是一个按钮被点击的jquery行对象有趣的是,我根本无法选择这些按钮。它们是在ajax调用的success函数中动态创建的,ajax调用是在一组jquery选项卡中进行的。我认为可能是选项卡或ajax对象的调用引起了问题,因为当我内省页面时,它们确实会出现在DOM中。我尝试了绑定click函数,如您上面所示,但该函数从未到达。您是否尝试在
成功
回调结束时绑定此函数?因为这些按钮是在ajax回调中创建的,所以绑定应该在它们的CreationTank Haynar之后调用。我会回去再试一次。在此期间,我为每个按钮添加了一个“onclick”,这很有效,但我不喜欢所有额外的代码。谢谢,Frenchi。“最近的”选择器比.parent().parent()更有用、更干净。
$(".row-button").click(function(evn){
// the code from above
}
$("input:button").click(function(){var $tr = $(this).closest('tr');});