كيفية تعيين قيم القائمة المنبثقة برمجيا في DashCode

StackOverflow https://stackoverflow.com/questions/2071481

  •  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 مع معلمات جديدة؟

أم أساءت فهم السؤال.

عندما أحاول ربط عناصر القائمة المنبثقة بشكل ديناميكي كما تفعل ، أرى أن القيم التي أعينها لعناصر القائمة المنبثقة صحيحة ، ولكن يتم عرض عدم العناصر في المنبثقة.

هل هناك شيء أفتقده؟ ها هو رمزتي:

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 row = result.rows.item (i) ؛
var ddlitem = document.createElement ("ddlitem") ؛ ddlitem.text = row ['key'] ؛ ddlitem.value = row ['value'] ؛ ddlcurrencycode.appendchild (ddlitem) ؛
}

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top