سؤال

محاولة إضافة خيارات برمجيا إلى القائمة المنسدلة في IE Windows Mobile.

لأن هذا هو IE Windows Mobile 5، فإن معظم الحلول التي تنطوي على getelementid لا تعمل، لذلك اضطررت إلى اللجوء إلى البرنامج النصي أكثر عادي فانيلا HTML / Java Script، والمثال أدناه يعمل بشكل جيد في IE 6 و FF، ولكن فشل "الكائن" دعم هذه الخاصية أو الطريقة "في Windows Mobile 5

function insertBarcodes()
{
val = document.form1.barcode.value ;
i = document.form1.blist.length;
myNewOption = new Option(val , val ); 
document.form1.blist.options[document.form1.blist.length] =myNewOption ; 
 }
 updateCount();

}

أيه أفكار؟

هل كانت مفيدة؟

المحلول 2

وجدت الجواب هنا:

أولا نظرت إلى المصدر المرجعي الرسمي هنا:http://msdn.microsoft.com/en-us/library/bb159677.aspx.

لاحظت أن هناك طريقة إضافة ل Selectobj، لذلك جربتها وعملت ..

هنا رمز العمل،

function AddSelectOption(selectObj, text, value, isSelected){
  if(selectObj != null && selectObj.options != null){
    var newOpt = new Option('Hello','Hello'); //create the option object
    selectObj.add(newOpt); //it's the .add(option) method
  }
}

شكرا للجميع

نصائح أخرى

هناك 4 طرق (التي أعرفها) لتعيين الخيارات ... (نأمل أن أحدهم يعمل من أجلك (أخبرنا بذلك))

//option 1
var newOpt = document.createElement('option');
newOpt.innerText = 'Hello';
mySelectObject.appendChild(newOpt);

//option 2
mySelectObject.innerHTML = '<option>Hello</option>';
//KNOWN TO FAIL IN IE6,7,8 (see url below)

//option 3
mySelectObject.outerHTML = '<select><option>Hello</option></select>'; //IE Only

//option 4
var newOpt = new Option('Hello','Hello');
mySelectObject.options[index] = newOpt;

أي علة مع وضع .innerml.

من بلوق ستيفن هارمان:

function AddSelectOption(selectObj, text, value, isSelected) 
{
    if (selectObj != null && selectObj.options != null)
    {
        selectObj.options[selectObj.options.length] = 
            new Option(text, value, false, isSelected);
    }
}

لذلك سوف يصبح الكود الخاص بك؛

function insertBarcodes()
{
    val = document.form1.barcode.value ;
    AddSelectOption( document.form1.blist, val, val, false );
}

ينص الموقع على أن صاحب البلاغ هرب إلى المشكلة الدقيقة التي ذكرتها. يعترف المؤلف أنه لا يعرف سبب عمل كائن خيار أربعة معلمات، فقط يفعل ذلك.

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