1

select 要素に次の関数を入力したいと思います。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 に答える