在我们用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="点击一下吧" onclick="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对象。
时间: 2024-10-03 04:13:36