为什么这不起作用(在空的选择列表上操作
$(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");
Jim.. 15
$("#requestTypes")
返回包含所有选定元素的jQuery对象.您正在尝试调用add()
单个元素的方法,而是调用add()
jQuery对象的方法,该方法执行的操作非常不同.
为了访问DOM元素本身,您需要将jQuery对象视为一个数组,并通过使用获取第一个项目$("#requestTypes")[0]
.
$("#requestTypes")
返回包含所有选定元素的jQuery对象.您正在尝试调用add()
单个元素的方法,而是调用add()
jQuery对象的方法,该方法执行的操作非常不同.
为了访问DOM元素本身,您需要将jQuery对象视为一个数组,并通过使用获取第一个项目$("#requestTypes")[0]
.
默认情况下,jQuery选择器返回jQuery对象.添加此项以获取返回的DOM元素:
var dropdownList = $("#requestTypes")[0];