2016-11-30 4 views
2

こんにちは私はこの「シンプルな」問題が私を悩ませています。あなたは私がselectから<option>要素を追加しようとしていますご覧のよう

var sel = $('<select id="' + elemData.id + '" name="' + elemData.id + '" onchange="folderBrowser.selectChanged(this)"></select>'); 
app.selectedPaths = localStorage.selectedPaths; 

if (app.selectedPaths) { 
    app.selectedPaths = JSON.parse(app.selectedPaths); 
    app.selectedPaths.forEach(function (arr) { 
     $("<option value=" + arr.path + ">" + arr.path + "</option>").appendTo(sel); 
    }); 

    } 
return sel; 

:私はオプションと<select>構築し、次のJSコードを持っています。私はidを持つoptionタグを取得しますが、テキストは取得しません! innerHTMLは空白です。私は間違って何をしていますか?

+0

'app.selectedPaths'と' arr.path'の内容は何ですか? 'append()'を実行するループは実際に実行されていますか?コンソールのエラーをチェックしましたか?また、古い 'onchange'属性を削除し、邪魔にならないベントハンドラを使用する必要があります。 –

+0

また、あなたは 'idで' optionタグを取得すると言います - それはどこから来ますか?あなたが表示したオプションのどれも 'id'を持っていません –

+0

残念です。私は 'id'ではなく' value'を得るでしょう。 'app.selectedPaths'はこの' app.selectedPaths.push({ 所有者:app.owner、 パス:パス })のようになります; '私はデバッグしてエラーを受け取りません。また、文字列が正しくビルドされていることが確認されます。 'appendTo(sel)'というテキストが削除されるとすぐに、 '' –

答えて

0

これを変更してみてください。これに

$("<option value=" + arr.path + ">" + arr.path + "</option>").appendTo(sel); 

$('<option value="' + arr.path + '">' + arr.path + '</option>').appendTo(sel); 

valueは、通常はそれほど重"とシングル'引用符を使用してみてください引用されています。

+0

ありがとうございます。それはトリックでした!悪魔は細部に... –

+0

それは確かに、サー。ハッピーコーディング。 – zer00ne

関連する問題