2011-05-09 28 views
0

我想显示所有已检查的元素。关于jquery

通过使用此代码,我试图将所有选中的元素推送到array1。

var array1 = new Array(); 
$(':checkbox').is(':checked').each(function() 

     { //control not coming here 
    array1.push($(this)); 
} 
); 
    alert("hi"); 

如何显示array1内容。提前感谢。 注意:检查意见

+2

你想要显示什么?该数组包含jQuery对象,那么输出结果应该是什么?实际上,不需要将它们推送到数组。取决于你想做什么,你可以使用:var array1 = $(':checked');'(不是说使用':checked'是最好的方法)。 – 2011-05-09 10:02:32

回答

0

toSource()可以帮助ü这样做

var arraytest = array1.toSource() 
alert(arraytest) 
+1

'toSource'是Firefox的扩展,它很可能在其他浏览器中不存在。 – 2011-05-09 10:05:36

1

你可以简单地做:

var obj = $(":checkbox:checked"); 

...然后显示obj对象的内容。 jQuery实例非常像数组。他们有一个length属性和数字索引,它们将为您提供该索引处的底层DOM元素。例如:

var obj = $(":checkbox:checked"); 
var n; 

for (n = 0; n < obj.length; ++n) { 
    show(obj[n]); // `show` will receive ehe DOM element 
} 

你会经常看到上面这样写的,虽然:

$(":checkbox:checked").each(function() { 
    show(this); 
}); 

...因为jQuery实例有一个each的功能,将调用你的回调为每个元素的对象。更多the docs(尽管jquery.com今天有问题; here's a link到Google上的缓存版本)。