2013-07-02 72 views
1

我想用下面的函数填充select元素。它的工作原理在FF和铬,但是下拉菜单在IE中都是空白:让我的JQuery与IE一起工作

function resetMajor(target) { 
    var vname = jQuery(target).attr('name'); 

    var majorId = jQuery(target).val(); 

    var highestDegreeCategory = jQuery('#highestLevel :selected').val(); 
    jQuery(target).empty(); 
    jQuery(target).append(jQuery("<option>").val("0").html(" -- Select -- ")); 

    jQuery.each(jsonMajors, function(index, element){ 
     var isAvailable = true; 
     var vname =element.majorName; 

     if (vname.indexOf("(") > 0) 
      vname = vname.substring(0,vname.indexOf("(")); 

     if ("UGRD"==highestDegreeCategory && "GRAD"==element.category){ 
      isAvailable = false; 
     } 

     if (isAvailable){ 
      jQuery(target).append(jQuery("<option>").val(element.majorId).html(vname)); 
      if (element.majorId == majorId){ 
       jQuery(target).children(":last").attr("selected","selected"); 
      } 
     } 
    }); 
} 

的jQuery - jQuery JavaScript库。5.0和IE 10

+4

jQuery的是什么版本的?什么版本的IE? – elclanrs

+3

你使用的是什么版本的jQuery和IE? –

+1

什么是jsonMajors?它从何而来?你有没有检查过这是在IE中填充? –

回答

1

我怀疑下面的代码

jQuery(target).append(jQuery("<option>").val("0").html(" -- Select -- ")); 
jQuery(target).append(jQuery("<option>").val(element.majorId).html(vname)); 

可以请你改变它像下面,检查

jQuery(target).append('<option value="0"> -- Select -- </option>')); 
jQuery(target).append('<option value="' + element.majorId + '">' + vname + '</option>')); 
相关问题