2015-12-15 2 views
0

Я хочу отключить или включить 6 выпадающих списков с 6 флажком. я сделал это на моем пути по 6 функции, но хочу только 1 функцию для этого. это можно сделать?отключить различную выпадающую базу на разных идентификаторах

Это скриншот моего html и ниже - мой код. enter image description here

$('#check_policy1').click(function(){ 
    if($('#check_policy1').is(':checked')){ 
     $(this).closest('.row').children('div:nth-child(3)').children('div').children('select.a').removeAttr('disabled');    
    } 
    else { 
     $(this).closest('.row').children('div:nth-child(3)').children('div').children('select.a').attr('disabled', 'disabled');         
    } 
});  
$('#check_policy2').click(function(){ 
    if($('#check_policy2').is(':checked')){ 
     $(this).closest('.row').children('div:nth-child(3)').children('div').children('select.a').removeAttr('disabled'); 
    } 
    else { 
     $(this).closest('.row').children('div:nth-child(3)').children('div').children('select.a').attr('disabled', 'disabled');    
    } 
}); 
+0

, пожалуйста, отформатируйте размещенный код. –

ответ

1

Multiple Selector (“selector1, selector2, selectorN”) могут быть использованы. В обработчике событий вам нужно использовать , который ссылается на элемент, вызывающий обработчик события.

$('#check_policy1, #check_policy2').change(function() { 
    $(this) 
     .closest('.row') 
     .children('div:nth-child(3)') 
     .children('div') 
     .children('select.a') 
     .prop('disabled', !this.checked);  

}); 

В качестве альтернативы вы можете назначить общий класс всем флажкам, а затем использовать Class Selector.

$('.check_policy').change(function() { 
    $(this) 
     .closest('.row') 
     .children('div:nth-child(3)') 
     .children('div') 
     .children('select.a') 
     .prop('disabled', !this.checked);  

}); 
+0

thank u очень много! @Satpal. –

+0

@ Satpal ваш ответ очень полезен ...... –

Смежные вопросы