Как сохранить состояние флажка в JQuery - PullRequest
1 голос
/ 13 июля 2009

Я добавил следующий код, чтобы отключить раскрывающийся список при снятии флажка в 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);
    }
    )
});

Где я ошибся?

Ответы [ 3 ]

0 голосов
/ 13 июля 2009

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

Попробуйте что-то вроде,

$(document).ready(function()
{
    $("[id$=chkCashSettlementType]")
        .click(function()
               {
                    //'this' refers to your checkbox. 
                    $("[id$=ddlSettlementCurrency]").attr('disabled', $(this).checked);
               }
        );
});
0 голосов
/ 30 октября 2010

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

$("[id$=chkCashSettlementType]").change( 
function() 
{
 //.....
}
0 голосов
/ 13 июля 2009

Я не уверен, но есть какая-то проблема с использованием 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');
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...