这是一个简单的代码
<?php for($i=0; $i<5; $i++){ ?>
<input type="text" id="modify_album_title_input" name="modify_album_title_input[]" value="" required=""/>
<?php } ?>
我可以通过php以数组的形式轻松获取值。 但是如何通过jquery获取价值? 我已经用过了......
alert($("input[name='modify_album_title_input']").val());
结果是'未定义' 而这...
var input_array= $("input[name='modify_album_title_input[]']").val();
alert(input_array);
仅产生第一个输入,而不是数组。任何解决方案?提前谢谢......
答案 0 :(得分:3)
使用.map()
var input_array= $("input[name='modify_album_title_input[]']").map(function() {
return this.value;
}).get();
它只返回代码中的第一个值,因为该选择器会抓取元素集合,只需尝试.val()
抓取第一个值。 map()
将从指定的选择器生成一个很好的数组值。
此外,你有重复ID,停止! ID的必须才是唯一的。
答案 1 :(得分:1)
试试这个:
var arr = new Array();
$("input[name^='modify_album_title_input']").each(function(index){
arr.push($(this).val());
});
答案 2 :(得分:1)
我注意到的一些事情......
id
应该是唯一的。在您的示例中,您具有相同ID的输入。name
属性,它应与ID相同。我会做什么:改为上课。
<?php for($i=0; $i<5; $i++){ ?>
<input type="text" class="modify_album_title_input" value="" required=""/>
<?php } ?>
然后你就可以得到这样的数组:
var myArray = $('.modify_album_title_input');