2009-07-13 3 views
1

Я добавил followng код для отключения в раскрывающемся списке на сняв флажок в JQuery, но флажок не сохраняя значение:Как сохранить флажок состояния в JQuery

$(document).ready(function(){ 
    //on check of the checkbox,the dropdown is enabled or disabled. 
    $("[id$=chkCashSettlementType]").toggle(
    function() 
    { 
     $("[id$=ddlSettlementCurrency]").attr('disabled',$("[id$=chkCashSettlementType]").not(':checked')); 
     $("[id$=chkCashSettlementType]").attr('checked',false); 
    }, 
    function() 
    { 
     $("[id$=ddlSettlementCurrency]").removeAttr('disabled'); 
     $("[id$=chkCashSettlementType]").attr('checked',true); 
    } 
    ) 
}); 

Где я ошибся?

ответ

0

Я не уверен, но есть какая-то проблема с помощью checkbox и toggle(). Попробуйте следующее:

$(document).ready(function() 
{ 
    //on check of the checkbox,the dropdown is enabled or disabled. 
    $("[id$=chkCashSettlementType]").click(function() 
    { 
     if($(this).attr('checked')) 
     { 
      $("[id$=ddlSettlementCurrency]").attr('disabled',''); 
     } 
     else 
     { 
      $("[id$=ddlSettlementCurrency]").attr('disabled', 'disabled'); 
     } 
    }); 
}); 
0

В вашем коде, почему вы изменяете состояние флажка внутри вашего метода переключения? Разве это не вернет государство назад?

попробовать что-то подобное,

$(document).ready(function() 
{ 
    $("[id$=chkCashSettlementType]") 
     .click(function() 
       { 
        //'this' refers to your checkbox. 
        $("[id$=ddlSettlementCurrency]").attr('disabled', $(this).checked); 
       } 
     ); 
}); 
0

Вы можете использовать «изменить» событие вместо «нажать» или «тумблер» событие, это решит вашу проблему.

$("[id$=chkCashSettlementType]").change( 
function() 
{ 
//..... 
} 
Смежные вопросы