0

Я изо всех сил пытался решить эту проблему. У меня есть родительские/дочерние флажки рядом друг с другом, которые генерируются динамически на основе того, какой родитель выбран.jquery удалить выбранный атрибут по опции не работает IE 7 и 8

Что бы я хотел сделать, это если я выберу один уровень вверх, я удаляю выбранный атрибут в выбранных дочерних параметрах.

Следующий код объясняет, что я пытаюсь сделать.

<div id="selectBoxes"> 
     <select> 
     <option value=""></option> 
     <option value="parent">Parent</option> 
     </select> 
     <select class="mySelect"> 
     <option value=""></option> 
     <option value="child">Child</option> 
     </select> 
     <select class="mySelect"> 
     <option value=""></option> 
     <option value="grandChild">Grandchild</option> 
     </select> 
    </div> 
    <script type="text/javascript"> 
     $('select').change(function() { 
      var $nextSelects = $(this).nextAll('.mySelect'); 
      $nextSelects.each(function() { 
       $(this).find('option:selected').prop("selected" , false); 
      }); 
     }); 
    </script> 

Пример можно найти here

Так что должно произойти, если выбраны все 3 варианта, и я пятиться позволяет говорить к первому выбрать 2 ребенка выбирает являются неустановленным. Приведенный выше код работает в FF и Chrome и IE 9, но не IE 7 & 8.

Я попытался с помощью .attr ("выбран", "") & .removeAttr ("выбрано") все еще не будет работать в IE.

Любая помощь очень ценится.

+0

Вы проверили мой ответ –

ответ

0

Try так:

$('select').change(function() { 
    var $nextSelects = $(this).nextAll('.mySelect'); 
    $nextSelects.each(function() { 
     $(this).val(''); 
    }); 
}); 
0

Это работает в IE8 я не имею IE7, пожалуйста, проверьте и вернуться

$('select').change(function() { 
    var $nextSelects = $(this).nextAll('.mySelect'); 
    $nextSelects.each(function() { 
     $(this).val("").prop("selected", true); 
    }); 
}); 

DEMO

Второй метод

$('select').not(".mySelect").change(function() {  
    $(this).siblings('.mySelect').each(function() { 
     $(this).find('option[value=""]').prop('selected', true);   
    }); 
}); 

DEMO

Ниже также будет работать

$(this).val("").prop("selected", true);

DEMO

Примечание не jQuery1.10 поддержки в IE6,7,8 см here