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 を繰り返し使用しています。やめてください。IDは一意である必要があります。

于 2013-10-22T20:37:10.327 に答える
1

これを試して:

var arr = new Array();
$("input[name^='modify_album_title_input']").each(function(index){
    arr.push($(this).val());
});
于 2013-10-22T20:38:05.350 に答える
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 に答える