0

同じ名前の 2 つのテキスト ボックスがありcontrol_textますが、それらの値は異なります。jQuery を使用して、すべてのテキスト ボックスの値を配列に格納したいと考えています。

HTML

<input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="firstvalue" />
<input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="secondvalue" />

JavaScript

var test_arr = $("input[name='control_text']");
$.each(test_arr, function(i, item) {
    // i = index, item = element in array
    alert($(item).val());
});

上記のコードは、テキスト ボックスの値を個別に表示しています。これらの値を個別に警告するのではなく、 (firstvalue, secondvalue). どんな助けでも大歓迎です。

4

2 に答える 2

10

使用map()方法:

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

補足: 1 つのページ内の要素には一意のID が必要なので、マークアップの有効性を確認してください。

于 2012-11-02T23:33:49.783 に答える
2
var newArray = [];
$( "input[name='control_text']" ).each(function() {
    newArray.push($( this ).val());
});
console.log(newArray);

.each 関数を使用して実現することもできます。

于 2014-07-01T07:14:11.740 に答える