怎么来的这种不工作(工作上的空白选择名单 <select id="requestTypes"></select>

$(function() {

        $.getJSON("/RequestX/GetRequestTypes/", showRequestTypes);

    }
    );


    function showRequestTypes(data, textStatus) {

        $.each(data,
            function() {

                var option = new Option(this.RequestTypeName, this.RequestTypeID);
                // Use Jquery to get select list element
                var dropdownList = $("#requestTypes");

                if ($.browser.msie) {
                    dropdownList.add(option);
                }

                else {

                    dropdownList.add(option, null);

                }
            }
            );

        }

但是,这并:

  • 更换:

    var dropdownList = $("#requestTypes");

  • 与普通的老javascript:

    var dropdownList = document.getElementById("requestTypes");

有帮助吗?

解决方案

$("#requestTypes") 返回jQuery的对象,其中包含所有选择的要素。你是试图呼叫 add() 方法中的一个元素,而是您所呼叫的 add() 方法延长在目的,其中做了一件非常不同。

为了访问DOM件本身,你需要治疗延对象为一系列和获得的第一个项目,通过使用 $("#requestTypes")[0].

其他提示

通过默认。选择返回的延的对象。这增加获得DOM件返回:

 var dropdownList = $("#requestTypes")[0];

对于像这样的东西,我用 texotela的选择框插件 与其简单的ajaxAddOption功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top