jQuery 从 JSON 中创建选择列表选项,没有像宣传的那样发生?

Posted

技术标签:

【中文标题】jQuery 从 JSON 中创建选择列表选项,没有像宣传的那样发生?【英文标题】:jQuery create select list options from JSON, not happening as advertised? 【发布时间】:2010-09-10 19:34:05 【问题描述】:

这怎么不起作用(在空的选择列表上操作<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");

【问题讨论】:

【参考方案1】:

$("#requestTypes") 返回一个包含所有选定元素的 jQuery 对象。您正在尝试调用单个元素的 add() 方法,但您正在调用 jQuery 对象的 add() 方法,它的作用非常不同。

为了访问 DOM 元素本身,您需要将 jQuery 对象视为一个数组,并使用 $("#requestTypes")[0] 从中取出第一项。

【讨论】:

【参考方案2】:

默认情况下,jQuery 选择器返回 jQuery 对象。添加这个以获取返回的 DOM 元素:

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

【讨论】:

【参考方案3】:

对于这样的东西,我使用 texotela's select box plugin 及其简单的 ajaxAddOption 函数。

【讨论】:

以上是关于jQuery 从 JSON 中创建选择列表选项,没有像宣传的那样发生?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 KivyMD 中创建选择列表

Datatables Jquery Bootstrap 5在行中创建动态下拉列表并将数据发布到php文件

如何在 JSF 中创建选择列表?尝试使用 JS/jQuery 移动项目,但使用“验证错误:值无效”提交错误

jquery或JS创建子元素并分配一个ID [重复]

从字典列表中创建嵌套的 json 对象

在phonegap中创建带有响应式图像选项的jquery移动应用程序