Javascript 基于单选按钮选择禁用按钮
我有以下asp.net代码,用户必须选择带有单选按钮的行,当没有选择单选按钮时,我需要使用jquery禁用该按钮,当选择单选按钮时,我需要再次启用该按钮Javascript 基于单选按钮选择禁用按钮,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有以下asp.net代码,用户必须选择带有单选按钮的行,当没有选择单选按钮时,我需要使用jquery禁用该按钮,当选择单选按钮时,我需要再次启用该按钮 <asp:GridView ID="GrvOpenForApproval" runat="server" AutoGenerateColumns="False" Width="100%"> <Columns> <asp:BoundField Header
<asp:GridView ID="GrvOpenForApproval" runat="server"
AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField HeaderText="Dealer" DataField="Dealer.DealerNumber" />
<asp:BoundField HeaderText="RequestNumber" DataField="RequestNumber" />
<asp:BoundField HeaderText="Chassis" DataField="Vehicle.Chassis"/>
<asp:BoundField HeaderText="Commission" DataField="Vehicle.ComissionNumber" />
<asp:BoundField HeaderText="Created" DataField="RequestDate" DataFormatString="{0:dd/MM/yyyy}" />
<asp:BoundField HeaderText="Status" DataField="CurrentStatus" />
<asp:BoundField HeaderText="Comment" DataField="Comments" />
<asp:TemplateField HeaderText="Select One">
<ItemTemplate>
<input name="RequestBaseId" type="radio"
value='<%# Eval("RequesBaseId") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="gridheader" />
</asp:GridView>
<br />
<div class="clear hideSkiplink">
<asp:Button runat="server" ID="BtnApproveSelected"
meta:resourcekey="BtnApproveSelectedResource"
onclick="BtnApproveSelectedClick"/>
</div>
生成的html
<div>
<table cellspacing="0" rules="all" border="1" id="MainContent_GrvOpenForApproval" style="width:100%;border-collapse:collapse;">
<tr class="gridheader">
<th scope="col">Dealer</th><th scope="col">RequestNumber</th><th scope="col">Chassis</th><th scope="col">Commission</th><th scope="col">Created</th><th scope="col">Status</th><th scope="col">Comment</th><th scope="col">Select One</th>
</tr><tr>
<td> </td><td>1</td><td> </td><td> </td><td>24/05/2012</td><td>Approval1</td><td>123</td><td>
<input name="RequestBaseId" type="radio"
value='1' />
</td>
</tr><tr>
<td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td>
<input name="RequestBaseId" type="radio"
value='2' />
</td>
</tr><tr>
<td> </td><td>1</td><td> </td><td> </td><td>24/05/2012</td><td>Approval1</td><td>123</td><td>
<input name="RequestBaseId" type="radio"
value='3' />
</td>
</tr><tr>
<td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td>
<input name="RequestBaseId" type="radio"
value='4' />
</td>
</tr><tr>
<td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td>
<input name="RequestBaseId" type="radio"
value='5' />
</td>
</tr>
</table>
</div>
<br />
<div class="clear hideSkiplink">
<input type="submit" name="ctl00$MainContent$BtnApproveSelected" value="Approve selected request" id="MainContent_BtnApproveSelected" disabled="disabled" class="aspNetDisabled" ClientID="BtnApproveSelected" />
</div>
DealErrorRequestNumberCharsisCommissionCreatedStatus注释选择一个
2012年5月24日批准1123
DEAL-11CH1123C24/05/2012批准112
2012年5月24日批准1123
DEAL-11CH1123C24/05/2012批准112
DEAL-11CH1123C24/05/2012批准112
试试这个:
$('input[name="RequestBaseId"]').change(function() {
if (!$(this).val()) {
$("#BtnApproveSelected").prop("disabled", true);
}
else {
$("#BtnApproveSelected").prop("disabled", false);
}
});
您还需要在按钮中添加ClientID
:
<asp:Button runat="server" ID="BtnApproveSelected" ClientIDMode="Static"
meta:resourcekey="BtnApproveSelectedResource"
onclick="BtnApproveSelectedClick"/>
您还可以通过使用类使
输入[name=“RequestBaseId”]
选择器更好。注意基于webkit的浏览器,这些浏览器不支持单选按钮上的更改事件!如果是这种情况,解决方法是使用click()
而不是change()
——或者至少——这是我选择的解决方法,无论正确与否。请您编辑您的问题以包含ASP代码生成的HTML。我刚刚更新了我的答案——这是我的错误。使用clientmode=“Static”
,而不是ClientID=“xxx”
。
<asp:Button runat="server" ID="BtnApproveSelected" ClientIDMode="Static"
meta:resourcekey="BtnApproveSelectedResource"
onclick="BtnApproveSelectedClick"/>