我有两个单选按钮,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');
});
});
答案 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来使用!