js正则匹配name获取值

leedaning 2015-06-09 06:09:55
对js不懂,现在碰到一个难题,希望大家有好方法帮我解决下,如下:


<input name="sort01" value="">
<input name="sort02" value="">
<input name="sort03" value="">

我想获取页面中所有的name格式都为“sort*”这种形式表单的值,请问各位要怎么做的?
...全文
439 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leedaning 2015-06-10
  • 打赏
  • 举报
回复
var sortArr = new Array(); var a=$('input[name^="sort"]').map(function(){return {value:this.value,name:this.name}}).get(); for(var i=0;i<a.length;i++){ name = a[i].name; value = a[i].value; alert(name+'='+value); sortArr[i] = new Array(); //二维数组声明 sortArr[i]['name'] = name; //这是二维数组中的name sortArr[i]['value'] = value; //这是二维数组中的value } var str = JSON.stringify(sortArr); //返回字符串 这样为什么得不到二维数组的?
  • 打赏
  • 举报
回复
var ipts = $("input[name^='sort']") ;
for(var i=0;i<ipts.length;i++){
  var value = $(ipts[i]).val();
  var name = $(ipts[i]).attr('name');
  var number = name.substr(4);
}
leedaning 2015-06-10
  • 打赏
  • 举报
回复
很感谢几位的回答,4楼的回答是可以得到对应的name和value的,因为我这边调试的原因刚刚没有得到结果,在此说声抱歉。
tenhilltree 2015-06-10
  • 打赏
  • 举报
回复
引用 5 楼 leedaning 的回复:
楼上两位说的都是可行的,灰常感谢哈。 还有一点请教一下,在得到value值的同时怎么获取对应的name值sort后面的数字的?
取子字符串就可以了 .name.substring(4)
leedaning 2015-06-10
  • 打赏
  • 举报
回复
楼上两位说的都是可行的,灰常感谢哈。 还有一点请教一下,在得到value值的同时怎么获取对应的name值sort后面的数字的?
leedaning 2015-06-10
  • 打赏
  • 举报
回复
引用 10 楼 xzy21com 的回复:
<script type="text/javascript"> var input = document.getElementsByTagName("input"); var arr = []; for(var i = 0,l = input.length;i < l;i++){ if(/^sort/.test(input[i].name)){ arr.push([input[i].name,input[i].value]); } } var str = JSON.stringify(arr); </script>
嗯嗯,这样是可以的,其实是我本地调试的时候把name后面的数字去掉了,造成不对应的假象。3g油!
scscms太阳光 2015-06-10
  • 打赏
  • 举报
回复
<script type="text/javascript"> var input = document.getElementsByTagName("input"); var arr = []; for(var i = 0,l = input.length;i < l;i++){ if(/^sort/.test(input[i].name)){ arr.push([input[i].name,input[i].value]); } } var str = JSON.stringify(arr); </script>
scscms太阳光 2015-06-09
  • 打赏
  • 举报
回复
<script type="text/javascript">
    var input = document.getElementsByTagName("input");
    for(var i = 0,l = input.length;i < l;i++){
        if(/^sort/.test(input[i].name)){
            alert(input[i].value);
        }
    }
</script>
indispensableman 2015-06-09
  • 打赏
  • 举报
回复
function getValue(){ var value = $("input[name^='sort']"); alert(value.length); for(var x=0; x<value.length;x++){ alert($(value[x]).val()); } } 我试了可以的。
leedaning 2015-06-09
  • 打赏
  • 举报
回复
引用 1 楼 Return_false 的回复:
你可以利用jquery选择器来筛选 $("input[name^='news']") 选择所有的name属性以'news'开头的input元素 $("input[name$='news']") 选择所有的name属性以'news'结尾的input元素 $("input[name*='man']") 选择所有的name属性包含'news'的input元素
非常感谢你的回答,我试了下,但是只能取到第一匹配的input元素的,怎么才能把页面上所有这种形式的元素都选取到呢?比如,我要选取所有name以news开头的值,要怎么做的?
  • 打赏
  • 举报
回复
你可以利用jquery选择器来筛选 $("input[name^='news']") 选择所有的name属性以'news'开头的input元素 $("input[name$='news']") 选择所有的name属性以'news'结尾的input元素 $("input[name*='man']") 选择所有的name属性包含'news'的input元素

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧