如何仅使用java脚本实现从复选框列表中选择的一个复选框。
这是脚本:
<script language="javascript" type="text/javascript">
var previousCheckId;
function toggle(chkBox) {
if (chkBox.checked) {
if (previousCheckId) {
document.getElementById(previousCheckId).checked = false;
}
previousCheckId = chkBox.getAttribute('id');
}
}
</script>
这是我的设计:
<tr>
<td class="BlackTextBold" align="right" height="25" width="32%"><div align="left"><strong>
Product :</strong><span class="top-txt"><span style="font-size: 12.0pt; font-family: Tahoma,sans-serif; color: red">*</span></span></div></td>
<td height="20" width="68%">
<asp:CheckBoxList ID="chkLst" runat="server" Font-Bold="True"
RepeatDirection="Horizontal" Width="50%">
<asp:ListItem onClick="toggle(this);" Value="EasyOFFICE">EasyOFFICE</asp:ListItem>
<asp:ListItem onClick="toggle(this);" Value="EasyVAT">EasyVAT</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td class="BlackTextBold" align="right" height="25" width="32%"><div align="left"><strong>
PC Type :</strong><span class="top-txt"><span style="font-size: 12.0pt; font-family: Tahoma,sans-serif; color: red">*</span></span></div></td>
<td height="20" width="68%">
<asp:CheckBoxList ID="chkLst" runat="server" Font-Bold="True"
RepeatDirection="Horizontal" Width="30%">
<asp:ListItem onClick="toggle(this);" Value="Server">Server</asp:ListItem>
<asp:ListItem onClick="toggle(this);" Value="LAN">LAN</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
然而,这个脚本适用于One CheckBox列表,但是当我只想要与其他CheckBox List相同的东西时,它可以使用4个。
答案 0 :(得分:1)
复选框意味着可以进行多项选择。如果您只想允许一个选择,请使用RadioButtonList控件:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobuttonlist%28v=vs.110%29.aspx
答案 1 :(得分:0)
这是无线电盒的用途......
但是如果你想继续使用复选框,基于jQuery的解决方案可以只定位同一td
function toggle(chkBox) {
if (chkBox.checked) {
$(this).closest('td').find('input[type="checkbox"]:checked').not(this).prop('checked', false)
}
}
答案 2 :(得分:0)
首先,代码将无法编译,因为您具有相同的CheckBoxList名称。 更改第二个复选框列表的名称,然后尝试运行脚本,因为脚本没有问题。
<tr>
<td class="BlackTextBold" align="right" height="25" width="32%"><div align="left"><strong>
Product :</strong><span class="top-txt"><span style="font-size: 12.0pt; font-family: Tahoma,sans-serif; color: red">*</span></span></div></td>
<td height="20" width="68%">
<asp:CheckBoxList ID="chkLst" runat="server" Font-Bold="True"
RepeatDirection="Horizontal" Width="50%">
<asp:ListItem onClick="toggle(this);" Value="EasyOFFICE">EasyOFFICE</asp:ListItem>
<asp:ListItem onClick="toggle(this);" Value="EasyVAT">EasyVAT</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td class="BlackTextBold" align="right" height="25" width="32%"><div align="left"><strong>
PC Type :</strong><span class="top-txt"><span style="font-size: 12.0pt; font-family: Tahoma,sans-serif; color: red">*</span></span></div></td>
<td height="20" width="68%">
<asp:CheckBoxList ID="chkLst1" runat="server" Font-Bold="True"
RepeatDirection="Horizontal" Width="30%">
<asp:ListItem onClick="toggle(this);" Value="Server">Server</asp:ListItem>
<asp:ListItem onClick="toggle(this);" Value="LAN">LAN</asp:ListItem>
</asp:CheckBoxList>
</td>