Jquery-在共享相同类名的其他元素之间选择一个元素(单击时)
Jquery - Select one element (on click) between other elements that share the same class name
我正在想办法。我正在为我的学校项目做一个电子商店。我几乎完成了所有的脚本编写,但这一次让我很烦恼。
我有一个所有项目的类,这意味着从1到10的项目都有相同的类名。当我想添加到购物车时,我点击就会有一个$.帖子在后面做所有的魔术。问题是,它只选择具有该类名的第一个元素。我在网上搜索过,只找到了"选择所有具有相同类名的元素"或"选择父元素中的元素"。我希望它选择共享相同类名的单个元素
我会把代码贴在这里,谢谢:)
$(".adicionar_ao_carrinho").bind("click",function(){
$(this).each(function(){
var a = $("[name='item']").val(); //debugg purpose
alert(a); //debugg purpose
$.post("ajax/carrinho.php",
{
id: $("[name='item']").val(),
preco: $("[name='preco']").val(),
qtd: $("[name='quantidade']").val(),
user: <?php echo $_SESSION['uid']; ?>
},function(data){
alert(data);
}
)
});
});
编辑:
<div class='"adicionar_artigo'">
<form method='post'>
<input type='text' name='quantidade' size='1' value='1'/>
<a href='"#'" name='"trigger'" class='"adicionar_ao_carrinho'"><img src='"ficheiros/images/icons/adicionar_1.png'" /></a>
<input type='hidden' name='item' value='$id_artigo' />
<input type='hidden' name='preco' value='$preco' />
</form>
</div>
每个项目都有一个像这样的表格。
第2版:http://s14.postimg.org/w29v5x2fl/error.png
这就解释了更好的
我猜一下,你的代码第一次点击就失败了,因为这是:
user: <?php echo $_SESSION['uid']; ?>
输出一个未加引号的字符串,并且应该是:
user: "<?php echo $_SESSION['uid']; ?>"
这会给你留下:
$(".adicionar_ao_carrinho").on("click",function(){
var form = $(this).closest('form'),
data = {
id : $("[name='item']", form).val(),
preco: $("[name='preco']", form).val(),
qtd : $("[name='quantidade']", form).val(),
user : "<?php echo $_SESSION['uid']; ?>"
}
$.post("ajax/carrinho.php", data ,function(result){
console.log(result);
}).fail(function(a,b,c) {
console.log('ajax failed');
});
});
完成。更改的html:
<div class='"adicionar_artigo'">
<a href='"#'" class='"adicionar_ao_carrinho'">
<img src='"ficheiros/images/icons/adicionar_1.png'" />
</a>
<input type='hidden' name='preco' value='$preco' />
<input type='hidden' name='item' value='$artigo[ID_artigo]' />
<input type='text' name='quantidade' size='1' value='1'/>
</div>
还更改了jquery:
$(".adicionar_ao_carrinho").bind("click",function(){
var parent = $(this).parent();
$.post("ajax/carrinho.php",
{
id: $("input[name='item']",parent).val(),
preco: $("input[name='preco']",parent).val(),
qtd: $("input[name='quantidade']",parent).val(),
user: "<?php echo $_SESSION['uid']; ?>"
},function(data){
alert(data);
}
)
});
它正在发挥作用。感谢大家的帮助和努力!:)
试试这个:
$(".class_name")
说明:
代码中的点指定现在我们谈论的是类,然后class_name当然是其他元素共享的类名。就像在你的情况下,class_name
是adicionar_ao_carrinho
,所以上面的代码将改为这个:$("a.adicionar_ao_carrinho");
更具体地说,如果它是div或span或其他任何东西,您可以像这样更改上面的内容:
用于div:$("div.class_name");
对于跨度:$("span.class_name");
说明:
这适用于所有其他元素。但是,如果该类仅用于单个元素,则上述方法也同样有效,但如果不同的元素使用相同的元素,则可能需要第二个。
更新:看了你的HTML后,我发现你的类名和你说的不一样!所以应该是这样的:$("div.adicionar_artigo");
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 指令的模板必须只有一个根元素:With restrict E&替换true
- HTML JavaScript,我如何能够通过给每个元素一个不同的Id来使用JavaScript使这个函数工作
- 如何创建一个独立的 DOM 元素?一个不从父母那里继承 css 等
- 如何给图像元素一个“;选择“;使用Raphael.js查看
- 如何显示隐藏的
- 元素一个接一个或全部同时
- 使用"span"创建一个自定义的基于web的文本编辑器;元素——一个坏主意
- 引导旋转木马传递元素一个接一个
- 给所有元素一个匹配数组内容的ID
- 我如何得到Json数组元素一个接一个的jquery上不同的id'
- 一次淡入附加元素一个
- 如何使用AngularJS检索外部网站的内容(一个元素一个元素)