2016-12-23 10 views
-2

名前= "categories"のページに複数のselectがあり、複数のドロップダウンリストからすべてのオプションテキストを取得したい場合、配列に格納したい。 私はグーグルだが、例のほとんどはjqueryとIdに基づいている。あなたのコードからjQueryでselect nameを使用して複数のオプションをすべて取得する方法

+1

あなたが試したことを提供してください。 – ScanQR

+1

'$( 'select [name =" categories "]オプション")で始まります。マップ(.....) ' – Satpal

+0

私の解決策に近いが、これはIdベースです。 jsfiddle.net/Mer38/ –

答えて

1

、選択して、次のようにそれにアクセスしようとするnameを提供し、

$(document).ready(function() { 
 

 
    var optionValues = []; 
 

 
    $('select[name=sameSelect] option').each(function() { 
 
    optionValues.push($(this).text()); 
 
    }); 
 

 
    $('#result').html(optionValues); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="state" name="sameSelect"> 
 
    <option value="state1">state1</option> 
 
    <option value="state2">state2</option> 
 
    <option value="state3">state3</option> 
 
</select> 
 

 
<p id="result"></p>

+0

ダウンボッターは誰ですか?どうして? – ScanQR

+0

私はダウン投票者が正当な理由なしにそれを投票したと思う。そうでなければ少なくとも1つのコメントを残すべきだ。 DownVotesは間違った答えですが、それが最善の答え(しかし正解)でないならば、我々はそれをdownVoteしてはいけません。 –

+0

@ScanQR慎重に検討した結果、私は投票の理由を知りました。質問者はテキストを要求し、配列を値で埋めました。 optionValues.push($(this).text());確かにあなたの答えの質を向上させるでしょう。 –

0

以下のコードは、その後、空の配列を初期化し、セレクタに一致するすべてのアイテムを取得し、それらを反復し、内側のテキストを配列にプッシュします。

var selector = 'select[name="categories"] option'; 
var optionsText = []; 
var context = document.querySelectorAll(selector); 
for (var index in context) { 
    optionsText.push(context[index].innerText); 
} 
//Do something with optionsText 
+0

Lajos Arpad本当に感謝してくれます。 –

+0

@MohsinAli大歓迎です。あなたは自由に2つの正解を持っていますが、そのうちのどれかを正解として選ぶことができます。そのような問題を抱えている人たちを将来的に手助けしているからです。 –

関連する問題