这是一个简单的代码
<?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);
仅结果是第一个输入,而不是数组。有什么解决方案吗?提前感谢...
使用 .map()
var input_array= $("input[name='modify_album_title_input[]']").map(function() {
return this.value;
}).get();
它只返回代码中的第一个值,因为该选择器会抓取元素集合,并且只需尝试.val()
获取第一个值。 map()
将从指定的选择器生成一个漂亮的值数组。
另外,你有重复的ID,停止那个!ID 必须是唯一的。
试试这个:
var arr = new Array();
$("input[name^='modify_album_title_input']").each(function(index){
arr.push($(this).val());
});
我注意到的几件事...
- 您的
id
应该是独一无二的。在您的示例中,您具有具有相同 ID 的输入。 name
属性在HTML5中已弃用,它应该与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');