1

这是一个简单的代码

<?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);

结果仅输入的第一个,而不是数组。大佬们有什么解决办法吗?提前致谢...

4

3 回答 3

4

利用.map()

var input_array= $("input[name='modify_album_title_input[]']").map(function() {
    return this.value;
}).get();

它只返回代码中的第一个值,因为该选择器抓取一组元素,并简单地尝试.val()抓取第一个。map()将从指定的选择器生成一个不错的值数组。

另外,你有重复的身份证,别再这样了!ID必须是唯一的。

于 2013-10-22T20:37:10.327 回答
1

我注意到了几件事...

  1. 你的id应该是独一无二的。在您的示例中,您的输入具有相同的 ID。
  2. 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');
于 2013-10-22T20:42:14.343 回答
1

尝试这个:

var arr = new Array();
$("input[name^='modify_album_title_input']").each(function(index){
    arr.push($(this).val());
});
于 2013-10-22T20:38:05.350 回答