2010-05-05 4 views
0

Я пытаюсь сделать динамическую форму с помощью mootools 1.11, по определенным причинам я не могу обновить atm.mootools 1.11 .setHTML не работает в IE

Я пытаюсь манипулировать полем выбора, чтобы иметь динамические параметры. Это работает в 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

Я нашел обходной путь для этой проблемы 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); 
     } 
    } 
} 

EDIT: Я был в состоянии решить эту проблему, делая петлю через каждый вариант и удалить их.

var children = field.getChildren(); 
    children.each(function(option){ 
     option.remove(); 
    }); 
Смежные вопросы