在我们用jQuery开发的时候会遇到这样的情况,name有多个或者相似的name有多个。这时候我们需要获取其中某一个的值或者要分别获取他们的值,这时候我们可以用jQuery先获取一个对象数组,然后再获取其中的一个值。先把代码奉上:
<html>
<head>
<meta charset="utf-8"/>
<title>jQuery获取多个数组的值</title>
<script src="../js/jquery-2.1.4.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function testjQueryArray(){
alert($("input[name='jQueryArray']")[0].value);
alert($($("input[name='jQueryArray']")[1]).val());
$("input[name^='jQueryArray']").each(function(i){
if(i == 2)
alert(this.value);
});
$("input[name^='jQueryArray']").each(function(i){
if(i == 0)
alert($(this).val());
});
}
</script>
</head>
<body>
<input type="text" name="jQueryArray" value="1111"/><br/>
<input type="text" name="jQueryArray" value="1221"/><br/>
<input type="text" name="jQueryArray" value="1331"/><br/>
<input type="button" value="点击一下吧" οnclick="testjQueryArray()"><br/>
<input type="button" name="bindFun" value="运行时绑定" />
</body>
<script>
$(
$("[name='bindFun']").on("click",function(){
alert($("input[name='jQueryArray']")[0].value);
alert($($("input[name='jQueryArray']")[1]).val());
$("input[name^='jQueryArray']").each(function(i){
if(i == 2)
alert(this.value);
});
$("input[name^='jQueryArray']").each(function(i){
if(i == 0)
alert($(this).val());
});
})
);
</script>
</html>
说明:
方式一: var orderId = $("input[name='jQueryArray']")[0].value;
$("input[name='jQueryArray']")[0] 为一个Input对象,所以可以直接用原生JS的对象.value来获取
方式二:$($("input[name='jQueryArray']")[i]).val();
$("input[name='jQueryArray']")[i] 为一个Input对象,所以不能调用jQuery里的val()方法,如果要用jQuery里的val()方法,需要将$("input[name='jQueryArray']")[i]转换为jQuery对象,即$($("input[name='ajaxOrderId']")[i]);
方式三:$("input[name^='jQueryArray']").each(function(i){if(i == 2)alert(this.value);});
利用jQuery的each()函数来进行循环,获取其中的值。注意的是这里的this是原生DOM对象。