$(".addcart").click(function(){
$("input[name='items']:checked").each(function() {
//doing something
});
});
我正在尝试创建一个我正在做的事情的普通类onclick。有没有办法让“items”成为变量,我的意思是我可以将复选框名称传递给此事件。
答案 0 :(得分:0)
试试这个,看看它是否成功:
$("input[name='items']:checked").each(function() {
alert(this.attr("name"));
});
我想我已经在某个地方使用了这个。
[编辑] 这样做的是jQuery将当前项作为变量的上下文传递给foreach。
答案 1 :(得分:0)
使用bind代替
$(".addcart").bind("click", {name: "items"}, function(event){
$("input[name='" + event.data.name + "']:checked").each(function() {
//doing something
});
});
修改强>
“我如何在jQuery中创建函数 并在事件上调用它并传递变量 对它“
那仍然是相同的程序。使用bind
附加一个事件处理程序,将一个包含所需函数的对象传递给它。在您的事件处理程序中调用您的函数并从event.data
$(".addcart").bind("click", {foo: "hello world"}, function(event) {
DoSomethingOnClick(event.data);
});
function DoSomethingOnClick(obj) {
obj = obj || {};
if (obj.hasOwnProperty('foo'))
alert(obj["foo"]);
else
alert("no foo here");
}
答案 2 :(得分:0)
您知道所有选中的项目都会有items
的名称,所以这不是很有趣,但也许您想要检索每个value
的{{1}}:
items
以上使用$(".addcart").click(function(){
$("input[name='items']:checked").each(function() {
// To access an attribute of this item use the form $(this).attr(...)
alert( this.value );
});
});
来访问正在迭代的元素。请查看 the properties of a DOM element ,了解您可以访问this
的哪些属性。
您可以使用this
表单从this
创建一个jQuery对象,然后您可以使用 .attr()
来访问$(this)
的属性。例如,要获取this
的类,您可以使用this
或this.className
。
直接访问DOM元素的属性更快。但对于一些更复杂的操作,很高兴知道$(this).attr("class")
也可用。