78

ここで同様の質問を見つけましたが、何もうまくいきません。

次のような入力があります。

<input type="text" value="2" name="pages_title[1]">
<input type="text" value="1" name="pages_title[2]">

次のようなフィールドを取得しようとしています:

$('input[name="pages_title[]"]')

しかし、空の結果があります:(

すべてのフィールドを取得する方法は? 私はそれを次のようにしか取得できません$('input[name="pages_title[1]"]')

4

12 に答える 12

26

map メソッドを使用すると、配列に格納された入力値を取得できます。

var values = $("input[name='pages_title[]']").map(function(){return $(this).val();}).get();
于 2016-05-27T08:53:13.027 に答える
13

括弧が文字列として扱われるように、入力名を一重引用符で囲みます[]

var multi_members="";
$("input[name='bayi[]']:checked:enabled").each(function() {
    multi_members=$(this).val()+","+multi_members;
});
于 2014-10-16T13:46:22.477 に答える
9

次のように、入力テキスト ボックスにクラス名を付けることができます。

<input type="text" value="2" name="pages_title[1]" class="pages_title">
<input type="text" value="1" name="pages_title[2]" class="pages_title">

次のように繰り返します。

$('input.pages_title').each(function() {
    alert($(this).val()); 
});
于 2014-03-05T19:55:37.547 に答える
7

Propper Form を使用し、 jQuery.serializeArray を使用するのが最善の方法だと思います

<!-- a form with any type of input -->
<form class="a-form">
    <select name="field[something]">...</select>
    <input type="checkbox" name="field[somethingelse]" ... />
    <input type="radio" name="field[somethingelse2]" ... />
    <input type="text" name="field[somethingelse3]" ... />
</form>

<!-- sample ajax call -->
<script>
$(document).ready(function(){
    $.ajax({
        url: 'submit.php',
        type: 'post',
        data: $('form.a-form').serializeArray(),
        success: function(response){
            ...
        }
    });
});
</script>

値は PHP で として利用できます$_POST['field'][INDEX]

于 2015-06-02T13:42:10.757 に答える
3

最もよく使われるのはこれです:

$("input[name='varname[]']").map( function(key){
    console.log(key+':'+$(this).val());
})

配列の位置と値のキーを取得します。

于 2019-07-31T14:32:32.797 に答える
2

次のように、2 つのバックスラッシュを使用して角かっこをエスケープできます。

$('input[name="pages_title\\[\\]"]')

于 2016-02-23T21:55:29.987 に答える