JQuery,如果在页面重新加载后检查单选按钮,我如何显示文本框

时间:2013-01-22 12:36:44

标签: jquery textbox radio-button

我有两个单选按钮,rdPayOutstandingrdPaySomeBalancerdPaytOutstandingBalance是默认的单选按钮,在页面加载时会检查,当发生这种情况时,会隐藏txtPaySomebalance ,工作正常。选中rdPaySomeBalance后,txtPaySomeBalance应显示,这也可以。

如果txtPaySomebalace在检查rdPaySomebalance时为空,则页面不会被处理并重新加载,这也可以正常工作但是当这种情况发生时rdPaySomeBalance仍然会被检查这是我想要的但是然后隐藏txtPaySomeBalance

我使用jQuery隐藏和显示文本框,如果rdPayOustandingBalance被检查,我只隐藏它,以防客户端没有启用JavaScript。我希望在页面重新加载时显示txtPaySomeBalance并且仍然检查rdPaySomeBalance,对于jQuery我可以提供任何帮助,我还包括我的CSS。

.txtPaySomeBalance {
    display: inline;
}

$(document).ready(function () {

    if ($('.rdOutstandingBalance').attr('checked', true)) {
        $('.txtPaySomeBalance').hide();
    }

    $('.rdOutstandingBalance').click(function () {
        $('.txtPaySomeBalance').hide();
        $('.txtPaySomeBalance').attr('disabled', true);
    });

    $('.rdPaySomeBalance').click(function () {
        $('.txtPaySomeBalance').show();
        $('.txtPaySomeBalance').removeAttr('disabled');
    });
});

1 个答案:

答案 0 :(得分:0)

你的问题文本很难理解,我想你想在页面加载时阅读检查状态,所以你可以这样做:

$(document).ready(function () {
    // Cache your results to improve readability and perfomnce
    var $rdOutstandingBalance = $('.rdOutstandingBalance');
    var $rdPaySomeBalance = $('.rdPaySomeBalance');
    var $txtPaySomeBalance = $('.txtPaySomeBalance');

    // Use change event instead of click!
    $rdOutstandingBalance.change(function () {
        if ($rdOutstandingBalance.is(':checked') == true) {
            // Chain your method calls and use prop instead of attr
            $txtPaySomeBalance.hide().prop('disabled', true);
        };
    })
    // Trigger change event to set visible state
    .change();

    // Use change event instead of click!
    $rdPaySomeBalance.change(function () {
        if ($rdPaySomeBalance.is(':checked') == true) {
            // Chain your method calls and use prop instead of attr
            $txtPaySomeBalance.show().prop('disabled', false);
        };
    });
});

如果这没有帮助,请概述您的问题文本,更好的是,创建一个jsfiddle来使用!