我想“重建”一个简短的片段:
jQuery.fn.getCheckboxVal = function(){
var vals = [];
var i = 0;
this.each(function(){
vals[i++] = jQuery(this).val();
});
return vals;
}
就像这样:
function getvar() {
var vals = [];
var i = 0;
this.each(function(){
vals[i++] = $(this).val();
});
return vals;
}
任何人都可以帮助获得“第二”作品吗? (链接到上面的完整代码段:http://trentrichardson.com/2009/01/08/getting-a-list-of-checkbox-values-with-jquery/)
谢谢:)
答案 0 :(得分:1)
我假设你想要一个接受元素作为参数的函数(这里是一个jQuery对象):
function getValues($elements) {
return $elements.map(function() {
return $(this).val();
}).get();
}
用法:
var values = getValues($('input'));
答案 1 :(得分:1)
在第一个代码中,this
关键字指向您正在调用方法的jQuery对象,因此您必须在第二个代码中将其替换为jQuery对象:
function getvar(selector) {
var vals = [];
var i = 0;
$(selector).each(function(){
vals[i++] = $(this).val();
});
return vals;
}
用法示例:
var values = getvar('input:checked');
您还可以使用map
方法使其更简单:
function getvar(selector) {
return $(selector).map(function(){
return $(this).val();
}).get();
}