0

我有两个单选按钮,rdPayOutstanding并且rdPaySomeBalance,rdPaytOutstandingBalance是默认单选按钮,在页面加载时会检查它,当这种情况发生时,它会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');
    });
});
4

1 回答 1

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 来使用!

于 2013-01-22T12:46:47.340 回答