我有一个产品列表,每行都有一个"添加到购物车按钮"。该脚本适用于插入art.code的第一行和项目数并返回响应。如果我在列表中按下另一篇文章,则脚本不起作用。我在另一个问题的某处读到了id必须是唯一的,但我真的不知道如何在我的脚本中实现它。
<form method='post' action='search.php'>
<input type='hidden' id='cartart' name='cartart' value='".$artno."' />
<input id='cartantal' type='number' name='cartantal'value='".$number."' />
<input type='submit' name='submit' id='submit' value='add'/>
</form>
<span id='result'></span>
依旧......
$(function() {
$("#submit").click( function(){
var namn = $('#cartart').val();
var antal = $('#cartantal').val();
$.ajax({
url: "search.php",
type: "POST",
data: 'gui_artkod=' + namn + '&gui_antal=' + antal,
success: function(result){
$("#result").html(result);
}
});
return false;
});
});
答案 0 :(得分:1)
使用课程.. 将所有ID更改为Class
<form method='post' action='search.php'>
<input type='hidden' class='cartart' name='cartart' value='".$artno."' />
<input class='cartantal' type='number' name='cartantal'value='".$number."' />
<input type='submit' name='submit' class='submit' value='add'/>
JAVASCRIPT
$(function() {
$(".submit").click( function(){ //use class selector
var namn = $(this).parent().find('.cartart').val(); //finds the parent of the clicked button and serach for a class called cartart and gets the value
var antal = $(this).parent().find('.cartantal').val();
$.ajax({
url: "search.php",
type: "POST",
data: 'gui_artkod=' + namn + '&gui_antal=' + antal,
success: function(result){
$("#result").html(result);
}
});
return false;
});
});
答案 1 :(得分:0)
尝试使用类而不是id选择器。
HTML更改:在提交按钮上添加了一个类
<form method='post' action='search.php'>
<input type='hidden' id='cartart' name='cartart' value='".$artno."' />
<input id='cartantal' type='number' name='cartantal'value='".$number."' />
<input type='submit' name='submit' class='addToShoppingCart' value='add'/>
</form>
更改Javascript:更改了提交按钮的选择器。
$(function() {
$(".addToShoppingCart").click( function(){
...rest remains same
});
您甚至可以使用.on()
来改善它。
请在此处查看相关文档:http://api.jquery.com/on/