<select id="selectId">
<option>Please select product ...</option>
</select>
我尝试使用Firefox,它可以运行
$('selectId').innertHTML = '<option>Test test</option>'
但在ie上,它不起作用,如何通过字符串选项添加选项,如上所述
答案 0 :(得分:3)
改为使用Element
类:
new Element('option', {
text: 'test option'
}).inject($('selectId'));
答案 1 :(得分:0)
如果您打算使用Mootools,那么您应该使用Mootools方法,而不是在它和vanilla Javascript之间切换。这样做的一个好处是Mootools已经为您处理浏览器不一致问题。因此,如果忽略其方法,则必须自己处理它们。
要使用Mootools方式访问元素的属性,可以在任何元素上使用set和get方法。 dollar($)函数返回一个元素,这样你就可以链接set并获得它。
//returns selectId's HTML
var foo = $('selectId').get('html');
//Sets the HTML of selectId to <option>Test test</option>
$('selectId').set('html', '<option>Test test</option>'); //
在这种情况下,您只需要使用set。
您应该注意的一件事是,这不会向选择框添加选项,而是使用选项替换选择框内的所有内容。因此,如果您想使用此选项向选择框添加多个选项,则每次重置HTML时都不会有效。有一个只有一个选项的选择框没有多大意义所以我假设你试图附加一个选项,而不是用一个选项替换所有选项。在这种情况下,请执行以下操作:
//get the current options selectId's options
var options = $('selectId').get('html');
//Add your own option onto the end
options = options + '<option>Test test</option>';
//Set the HTML of selectId to whatever is stored in options
$('selectId').set('html', options);