Dashcodeでプログラムポップアップメニューの値を設定する方法
-
20-09-2019 - |
質問
私は、プログラム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);
}