2016-11-29 8 views
-3

私はJsonObjectを取得しており、JavaコードからJavaコードへのキーの値としてHTMLコンテンツを含んでいます。JavaScriptで文字列を反復する方法は?

ここで、オプション、値、ラベルを使用して文字列を解析し、その文字列を使用して選択フィールドを作成します。

私は効果的ではなく、すべての場合に働いていないreplaceメソッドを使用することを考えました。だから、私はループを使うことに決めました。

HTMLはJavaコードから文字列として返さ:私が試した何

<option><value>com.taleo.systemcomponent.olf.entity.NetworkLocation__10053</value><label>Badghis</label></option>`<option><value>com.taleo.systemcomponent.olf.entity.NetworkLocation__10054</value><label>Baghlan</label></option> 

は次のとおりです。

$.each(html,function(value, label){ 
    $('#state').append('<option value='+value+'>" '+ label +'</option'); 
}); 

それが動作し、何を改善する必要がない方法がわかりません!

+0

@Satpal実際にそれがあるに追加します。 –

+0

@Satpal従ってLoLされました。 –

+3

JSコードの文字列をハッキングする代わりに、有効なHTMLを返すようにJavaコードを修正するほうが*はるかに*多いでしょう。代わりに、有効なHTMLを構築するのに簡単に使用できるJSONを返します。 –

答えて

2

あなたはいつもあなたはまだこのよう

var html = "<option><value>com.taleo.systemcomponent.olf.entity.NetworkLocation__10053</value><label>Badghis</label></option>`<option><value>com.taleo.systemcomponent.olf.entity.NetworkLocation__10054</value><label>Baghlan</label></option>"; 
 

 
$('<div>'+html+'</div>').find('option').each(function(i,item){ 
 
\t var value = $(item).find('value').text(); 
 
\t var label = $(item).find('label').text(); 
 
     $('#state').append('<option value='+value+'>'+ label +'</option'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="state"></select>

最初にそれを解析し、あなたの選択を移入することができます提供されているサンプルのような標準的なフォーマットを取得する場合、あなたは別の内側にあなたのhtmlをラップする必要がありますコンテナにアクセスできるようにします。この場合、div内に追加されます。

次に、あなたのhtml内のすべてのオプションを使用して、あなたのループは、各オプションのために、あなたは、値のテキストとラベルを抽出オプションタグを作成して、選択し

+0

ありがとうございました。コードを正しく理解するために、行ごとにデバッグしようとしています。 – Pavan

+0

私は答えを – phobia82

+0

コードとループの概念を理解させてください。もう一度ありがとうございます。弾丸のように働いた。 – Pavan

関連する問題