jquery name选择器返回value数组

页面内容是这样的:<inputname="test1"value="a"/><inputname="test2"value="b"/><inputname="test3"... 页面内容是这样的:
<input name="test1" value="a"/>
<input name="test2" value="b"/>
<input name="test3" value="c"/>
我选择用jquery 选择器 选择name以test开头的input
现在是获取了的,但是我想让它直接返回input.value的数组,有好办法么?
下面是我写的,还要从新定义数组,以及for循环,太麻烦了.
var test = $("input[name^='test']");
var arr = new Array();
for(var i=0;i<test.length;i++){
arr[i] = test[i].value;
}PS:我试着 用$("input[name^='test']").val();但是返回的却只是第一个值.
还是有正确答案后给分吧~多谢诸位了哈.
要求就是获得 一个数组,里面装着所有test*的值.

不要被我方法误导了(我方法只供参考的.),可以有别的方法写的.
有没有更简单的方法?
展开
 我来答
winter765
2012-10-24 · 超过15用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:35.9万
展开全部
var a = [];

$("input[name^='test']").each(function(i, o){
a[i] = $(o).val();
// a.push($(o).val());
// 两种写法选一个就好

});
追问
咳咳,就没有别的方法了么>无论是否用Jquery都可以.
追答
一般用的比较多的就是jquery,extjs貌似可以做到一下取出来成array,但是extjs本身比较大,如果不是做后台不推荐用extjs。如果觉的麻烦,可以考虑扩展jquery的方法,自己写一个方法把这个小功能扩展进去,以后直接调用就成了。举个例子:
(function($){
$.fn.extend({
arrayVal: function(){
var self = $(this);
var result = [];

if(self.length > 0){
self.each(function(i, o){
result.push($(0).val());

});

}
return result;

}

});

})(jQuery)
把上面的代码保存成一个js文件,在jquery的包之后引用,用的时候直接用$("input[name^='test']").arrayVal()就行了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caoxuexin898
2012-10-24 · TA获得超过245个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:136万
展开全部
因为你的name值是不一样的·所以 你写的方法就可以了~肯定是需要先进行匹配 在取值哦~希望能帮到你~ 你可以尝试 name值一样~~然后获取~
更多追问追答
追问
哎,这样挺麻烦的...有更简单的方法吧?
追答
把name值用一样的试试~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式