質問

私は、プログラムDashcodeのポップアップメニューの値を設定しようとしています。私は(検査員からの)いくつかの静的に定義されたデフォルトのもののテキスト/値を変更し、それらを追加または削除することはできません。 ビューが初期化されるとき、それはオプションの可変数を取る必要があります。

    var popup = document.getElementById('popup');
    //popup.options = []; /* Doesn't clear the list */
    //popup.options.length = 0; /* Doesn't clear the list */
    popup.options[0].text = "Option 1";
    popup.options[0].value = "123";

はどのようにリストを変更できますか? (LMGTFYは必要ありません答えます。)

役に立ちましたか?

解決

私は最後に、このようにそれを解決します:

//remove all
if (popup.hasChildNodes()) {
    while (popup.childNodes.length >= 1) {
        popup.removeChild(popup.firstChild);       
    }
}

//add new
$.each(items, function(i, item) {
    var option = document.createElement("option");
    option.text = item.name;
    option.value = item.id;
    popup.appendChild(option);      
});

他のヒント

ただ、刺し傷がありますがJavaScriptで全体のポップアップを構築し、パラメータを渡すことによって、ドロップダウン/ポップアップ内の項目数を設定することができませんでした。あなたが項目のいずれかを変更したいとき、あなたは新しいパラメータでJavaScriptを呼び出すことができますか?

または私が質問を誤解しました。

私はあなたがそうであるように、動的に似たポップアップメニューの項目をバインドしようとすると、 私は私がポップアップするメニュー項目を割り当てる値が正しい参照が、アイテムの非がポップアップで表示されます。

私は欠けているものはありますか? ここに私のコードは次のとおりです。

VAR ddlCurrencyCode =のdocument.getElementById( 'ddlCurrencyCode')。 IF(ddlCurrencyCode.hasChildNodes()){     一方、(ddlCurrencyCode.childNodes.length> = 1){           ddlCurrencyCode.removeChild(ddlCurrencyCode.firstChild);
    } }

(VAR i = 0; iはresult.rows.lengthを<; ++ i)に対する{     VAR行= result.rows.item(I);
        VAR ddlItem =のdocument.createElement( "ddlItem");         ddlItem.text =行[ 'キー']。         ddlItem.value =行[ '値']。         ddlCurrencyCode.appendChild(ddlItem);
}

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top