2012-08-11 88 views
0

我正在做一个选择对象以及追加选项,一切顺利。但选项永远不会附加到选择对象..任何帮助?jquery'选项'附加问题与选择对象

if (el.type === 'select') { 
    element = $('<label>' + el.label + '<select></select></label>').attr({ 
     id: el.id, 
     name: el.name 
    }) //my select object 
    var options = "" 
    $.map(el.options, function(option, i) { 
     options += '<option' + option.value + '>' + option.text + '</option>'; 
    }) 
    $(element).append(options); // never append to select object 
    console.log(options); //it prints properly like : <option>Select Country</option><optionin>India</option><optionus>United Stated</option><optionuk>United Kingdom</option><optioncn>Canada</option> 
}​ 

那会是什么问题呢?哪里不对了?

+0

要追加的标签,而不是选择。使用'$(element).find('select')。append(options);'。顺便说一句,'$ .map'用于返回一个值数组,'$ .each'用于迭代。 – hyperslug 2012-08-11 16:11:45

回答

0

似乎对我来说工作正常,您是否检查了您创建的选择对象,并没有将更改插入到DOM中?

FIDDLE

0

感谢所有,我附有这样一来,它的工作以及..

if(el.type === 'select'){ 
         element = $('<label>'+el.label+'<select></select></label>').attr({ 
          id : el.id, 
          name:el.name 
         }) 
         var options = "" 
         $.map(el.options, function (option,i) { 
          $(element).find('select').append($('<option></option>').attr('value',option.value).text(option.text)); 
         }) 

        }