当选择其中一个时,我需要禁用其他asp.net单选按钮。有三个单选按钮。例如,选择现金单选按钮,其他两个来自listitem应该被禁用。我做了一些研究和当第三个被选中时,我确实禁用了另外两个。但是在我的代码页面后面,它给了我选择的无线按钮的空值。这是我的代码:
我的.aspx
<div class="col-sm-4" style="padding-top:4px ; margin-top:-8px">
<asp:RadioButtonList runat="server" ID="loanTypeCheck" CssClass="pull-right" RepeatDirection="Horizontal">
<asp:ListItem Value="Cash" Text=" Cash "/>
<asp:ListItem Value="Non-Cash" Text=" Non-Cash " />
<asp:ListItem Value="Dharauti" Text=" Dharauti " />
</asp:RadioButtonList>
</div>
我的代码
protected void SaveButton_Click(object sender, EventArgs e)
{
if (IsFormValidForSave())
{
var loanReceipt = GetLoanReceiptFromForm();
var transactionsDetails = new List<TransactionDetail>();
if (loanTypeCheck.SelectedValue == "Cash")
{
//
}
}
}
这是我禁用单选按钮的JavaScript
$('input[type=radio]').change(function () {
$("#<%=loanTypeCheck.ClientID %>").find('input').prop('disabled', true);
});
一切都在UI中工作,但我在后面的代码中的loanTypeCheck.SelectedValue中得到null值。
答案 0 :(得分:1)
您可以使用:not(:checked)
选择器禁用未选中的单选按钮:
$('#<%= loanTypeCheck.ClientID %>').change(function () {
$(this).find('input[type=radio]:not(:checked)').prop('disabled', true);
});
保持选中的单选按钮启用将允许回发所选的值。