Javascript IE8中的动态创建选择框选项问题
我正在使用以下函数创建一个“将选项添加到我的选择框”Javascript IE8中的动态创建选择框选项问题,javascript,jquery,html,frontend,Javascript,Jquery,Html,Frontend,我正在使用以下函数创建一个“将选项添加到我的选择框” //add options to the requested select box addOptionsToSelect : function(__enum , obj, selected_value) { $(__enum).each(function(i){ var optn = new Option(this.text, this.val) if(selected_value === this
//add options to the requested select box
addOptionsToSelect : function(__enum , obj, selected_value) {
$(__enum).each(function(i){
var optn = new Option(this.text, this.val)
if(selected_value === this.val){ optn.setAttribute('selected', 'selected') }
$(obj)[0].options.add(optn);
});
return obj
}
\uuu enum
是包含值和传递给选择选项的文本的键值对obj
是也动态创建的选择框objselected\u value
是需要在选择框中设置为选中的值optn.setAttribute('selected','selected')
在除IE8之外的所有浏览器中都能正常工作
我正在寻找一种解决方法,使我能够在所有浏览器中动态设置所选值。我想在类似的示例中添加一个选项:
var select = document.getElementById("drop-down");
var newOption = document.createElement("option");
newOption.innerHTML = 'hello';
select.appendChild(newOption);
下面是一个示例:我想在类似的示例中添加一个选项:
var select = document.getElementById("drop-down");
var newOption = document.createElement("option");
newOption.innerHTML = 'hello';
select.appendChild(newOption);
下面是一个示例:
$(obj)[0]==obj
如果不打算使用jQuery对象,则无需创建它……在任何情况下,请尝试optn.selected=true
相反。没有this.val
,而是this.value
?@adeneo:“1.\uuuu enum
是包含值和传递给select选项的文本的键值对。您的选项元素是否具有value
属性?如果是,则尝试obj.value=this.val代码>在if
语句中。如果这不起作用,那么代码中会出现其他问题。$(obj)[0]==obj
如果不打算使用jQuery对象,则无需创建它……在任何情况下,请尝试optn.selected=true
相反。没有this.val
,而是this.value
?@adeneo:“1.\uuuu enum
是包含值和传递给select选项的文本的键值对。您的选项元素是否具有value
属性?如果是,则尝试obj.value=this.val代码>在if
语句中。如果这不起作用,那么代码中还存在其他问题。