首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery函数Getvars "rebuild“

Jquery函数Getvars "rebuild“
EN

Stack Overflow用户
提问于 2011-08-07 06:13:23
回答 2查看 244关注 0票数 0

我想“重建”一小段代码:

代码语言:javascript
复制
jQuery.fn.getCheckboxVal = function(){
    var vals = [];
    var i = 0;
    this.each(function(){
        vals[i++] = jQuery(this).val();
    });
    return vals;
}

就像这样:

代码语言:javascript
复制
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/)

谢谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-07 06:24:32

在第一段代码中,this关键字指向要对其调用方法的jQuery对象,因此您必须在第二段代码中将其替换为jQuery对象:

代码语言:javascript
复制
function getvar(selector) {
  var vals = [];
  var i = 0;
  $(selector).each(function(){
    vals[i++] = $(this).val();
  });
  return vals; 
}

使用示例:

代码语言:javascript
复制
var values = getvar('input:checked');

您还可以使用map方法使其更简单:

代码语言:javascript
复制
function getvar(selector) {
  return $(selector).map(function(){
    return $(this).val();
  }).get();
}
票数 1
EN

Stack Overflow用户

发布于 2011-08-07 06:21:00

我假设你想要一个接受元素作为参数的函数(这里是一个jQuery对象):

代码语言:javascript
复制
function getValues($elements) {
    return $elements.map(function() {
        return $(this).val();
    }).get();
}

用法:

代码语言:javascript
复制
var values = getValues($('input'));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6969297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档