2016-12-02 1 views
0

私は仕事で動的に作成されたドロップダウンを作成しました。私のHTMLコードは単純ですJavascriptで作成されたドロップダウンが1行で展開されます

<SELECT id="competitors"> 
    <OPTION value="0">All values</OPTION> 
</SELECT> 

私はフォーカスが適切なクエリを実行し、HTMLを追加するjs関数を作成しました。

success: function (data) { 
    $(id).append(data.arr); 
) 

それはIループ私はドロップダウンのための文字列

$str['arr'] = $text; 
echo json_encode($str); 

CSSだけwidthプロパティを持っており、このドロップダウンは、とりわけあるコード化配列

$text .= "<OPTION value=\"$id\">$name</OPTION>"; 

、その後、純粋なHTMLを追加それらはすべて同じルール(フォーカス機能を使用して動的に作成)に従います。

問題は、データを追加した後にドロップダウンをクリックしても展開されないということです。それは私がそれをクリックしたときので、それはそれはthat のように見えるデータを取得していると応答の代わりに、完全なドロップダウンの後、私は役に立つかもしれませんthat

情報を取得whlie「ナビゲーションバー」 を持つ単一ラインのDropboxされたまま: 1.複数のテーブルに参加し、何千もの行のグループをグループ化する必要があるため、要求が長くかかる(2-10秒)ことがあります。 2.応答をした後、ナビゲーションバーを使って1行のドロップダウンを取得したときに、それを再びクリックすると、それが展開されます。

アイデア?

+0

それが長いことを取っている場合結果を返すと、コールバックが成功するまでドロップダウンを無効にできますか? – DevlshOne

+0

'data.arr'には何が入っていますか?一方、jQueryを使用しているので、代わりにjQueryを使用して作業を終了しますか? – Raptor

+0

@Raptor data.arrには、$ str ['arr']を含む配列のjson_encodeが含まれています。 $ str ['arr']にはリストのHTML要素が1つしかありません。それは$ str ['arr'] [0] = のようなものです。私は純粋なjQueryを使用しようとしますが、私は結果を返すでしょう。とにかくThnx。 – GeoM

答えて

0

だけでなく、あなたが

htmlの本使用してJavaScriptのような何かを行うことができます。

<select id="competitors"> 
    <option value="0"> All values </option> 
</select> 

のjavascript:

document.getElementById('competitors').options[competitors.options.length] 
= new Option('theName', 'the value'); 

ここではフィドルです:https://jsfiddle.net/f5a81Lv6/