1

我想用以下函数填充一个选择元素。它适用于 FF 和 Chrome,但 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 库 v1.4.2 和 IE 10

4

1 回答 1

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>'));
于 2013-07-02T06:07:14.163 回答