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 中创建选择列表选项,没有像宣传的那样发生?的主要内容,如果未能解决你的问题,请参考以下文章
Datatables Jquery Bootstrap 5在行中创建动态下拉列表并将数据发布到php文件