我正在尝试使用mootools 1.11创建一个表单动态,因为我无法升级atm。
我正在尝试操作选择字段以获得动态选项。这适用于Firefox& Chrome但不是IE8。希望有一个解决方案。
代码:
myOptions(hrs+1, 23, 'uur');
$('vertrektijd_uur').setHTML('<option value="">Kies uur</option>'+options_uur);
$('vertrektijd_uur').addEvent('change', function() {
hrsChanged = $('vertrektijd_uur').getValue();
hrsChanged = parseInt(hrsChanged);
if(hrs+1 == hrsChanged)
{
myMinutes(parseInt(min));
myOptions(minChanged, 55, 'min');
$('vertrektijd_min').setHTML('<option value="">Kies minuten</option>'+options_min);
}
else
{
myOptions(0, 55, 'min');
$('vertrektijd_min').setHTML('<option value="">Kies minuten</option>'+options_min);
}
});
答案 0 :(得分:0)
我找到了IE问题的解决方法。但现在我有另一个问题。使用这种新方法,可以添加(注入)新选项,而不是替换旧选项。我似乎需要一种方法来在注入之前删除选项。但不知道我会怎么做。
代码:
var myOptions = function(start, end, field){
// Remove options from select field here then do inject below ??
for (var n = start; n <= end; n++){
if(n < 10){
new Element('option',{'value':'0'+n}).inject(field).setText('0'+n);
} else {
new Element('option',{'value':n}).inject(field).setText(n);
}
}
}
编辑:我能够通过循环浏览每个选项并删除它来解决它。
var children = field.getChildren();
children.each(function(option){
option.remove();
});