2016-04-18 15 views
3

<form>タグの外にあるテキストボックスから値を取得しようとしています。 3つのテキストボックスのクラス名は同じです。私はその価値を得て後でそれを使いたいと思っています。クラス名で要素の値を取得し、それらをjQueryの配列に格納する方法は?

下記のjQueryのアラート部分に誤りがあります。

HTML

<input type="text" class="className"> 
<input type="text" class="className"> 
<input type="text" class="className"> 

jQueryの

var $j_object = $(".className"); 
$j_object.each(function(i){ 
    alert($j_object[i].val())      
}); 
+1

'警告($(この).val())との警戒ラインを交換してください。 ' –

答えて

2

var $j_object = $(".className"); 
$j_object.each(function(i){ 
    alert($j_object.eq(i).val());      
}); 

それともthis VALUを使用することができ、この文脈で.eq(index)を使用してみてくださいあなたはjQueryの要素のコレクションにアクセスするためのブラケット表記法を使用している場合は、タスクを簡素化する.each()の内部電子、

var $j_object = $(".className"); 
$j_object.each(function(){ 
    alert($(this).val());      
}); 

、それはプレーンなJavaScriptのオブジェクトを返します。そして、そのプロトタイプにはjquery関数はありません。

1

jQueryの.map()関数を使用して、テキストボックス値を配列に保存できます。

実施例

var array = $('.className').map(function(){ 
 
    return $(this).val() 
 
}).get(); 
 
alert(array)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="className" value="1"> 
 
<input type="text" class="className" value="2"> 
 
<input type="text" class="className" value="3">

+0

テキストボックスにname属性がある場合は、指定したコードから名前を取得できますか? – Ahmad

+0

はい。確かに。 '$(this)).val()の代わりに' $(this).attr( 'yourAttribute') 'を使うことができます。 –

+0

サンプルデモを見せてもらいたいです。だから、もし必要なら私に知らせてください。 –

関連する問題