Сообщение от e1f
|
Возможно, стоит переписать не скучей аппендов, а с использованием DocumentFragment
|
Спс , помогло, но дальше на обработчике событий проблема та же, в принципе это ожидалось ((
function _parentChange($parent, $child, $group, $holder_cls, $child_cls, i){
$($parent).bind('change', function(vary){return function(){
$($child).find('option:not(:first)').remove();
$index = $($group).index($(this));
if( $param.group != '' ){
$($group+':gt('+ $index +')').find('option:not(:first)').remove();
}
$value = $(this).find('option:selected').attr('value');
if($value) {
if(vary[i][$value]){
for(var j = 0; j < vary[i][$value].length; j++) {
$($holder_cls+$child_cls).find('option[value='+vary[i][$value][j]+']').each(function(){
$value1 = $(this).attr('value');
$class = $(this).attr('class');
$title = $(this).attr('title');
$text = $(this).attr('text');
$($child).append('<option value="'+$value1+'" class="'+$class+'" title="'+$title+'">'+$text+'</option>');
});
}
}
}
$($child).change();
}
}($param.myObj));
}
он переписан мной (может конешн и криво написан, но работает, учитывает оба режима плагина)
Обработчик change на родителе ищет option в скрытом селекте и кидает их в соостветствующий ему дочерний селект .
Так вот этот процесс поиска в IE занимает много времени, и здесь, похоже уже ничего не сделать.
Вот эта строка:
$($holder_cls+$child_cls).find('option[value='+vary[i][$value][j]+']').each(function(){
тянет время, даже если в цикле пусто,
если закомменчю её, то все ОК(по скорости).