В первом коде ключевое слово 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();
}