开发者

Jquery Function Getvars "rebuild"

开发者 https://www.devze.com 2023-03-26 15:14 出处:网络
i would like to \"rebuild\" a short snippet: jQuery.fn.getCheckboxVal = function(){ var vals = []; var i = 0;

i would like to "rebuild" a short snippet:

jQuery.fn.getCheckboxVal = function(){
    var vals = [];
    var i = 0;
    this.each(function(){
        vals[i++] = jQuery(this).val();
    });
    return vals;
}

to such like this:

function getvar() {
       var vals = [];
    var i = 0;
    t开发者_开发百科his.each(function(){
        vals[i++] = $(this).val();
    });
    return vals; 
}

can anybody help to get the "second" works to? (Link to the Full Snippet above: http://trentrichardson.com/2009/01/08/getting-a-list-of-checkbox-values-with-jquery/)

Thanks :)


In the first code, the this keyword points to the jQuery object that you are calling the method on, so you would have to replace that with a jQuery object in the second code:

function getvar(selector) {
  var vals = [];
  var i = 0;
  $(selector).each(function(){
    vals[i++] = $(this).val();
  });
  return vals; 
}

Usage example:

var values = getvar('input:checked');

You can also use the map method to make it simpler:

function getvar(selector) {
  return $(selector).map(function(){
    return $(this).val();
  }).get();
}


I assume you want a function that accepts elements as parameter (here a jQuery object):

function getValues($elements) {
    return $elements.map(function() {
        return $(this).val();
    }).get();
}

Usage:

var values = getValues($('input'));
0

精彩评论

暂无评论...
验证码 换一张
取 消