我试图从列表中只选择一个复选框。这是我正在尝试的代码,但它似乎没有工作。我可以使用RadioButtonlist,但它不允许我取消选择单选按钮。请告诉我。
$(document).ready(function () {
var checkboxlistid = "#<%= chkLst.ClientID %>";
$(checkboxlistid + " input:checkbox").click(function () {
$(this).attr("checked",""); });
});
<asp:CheckBoxList ID="chkLst" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="U">Unknown</asp:ListItem>
<asp:ListItem Value="R">Ref</asp:ListItem>
</asp:CheckBoxList>
答案 0 :(得分:2)
复选框是此任务的错误UI元素。用户期望从单选按钮和复选框中获得某些行为 - 不要乱用它。你最好添加一个CLEAR按钮,而不是试图使复选框的行为像单选按钮一样。
答案 1 :(得分:2)
这不应该是一个问题..基本上,当您选择一个项目时,您需要清除所有选中的项目,然后检查当前项目..
试试这段代码..
$(function() {
$('[id*=chkLst] input[type="checkbox"]').on('click' , function(){
// Caching all the checkboxes into a variable
var checkboxes = $('[id*=chkLst] input[type="checkbox"]');
// If one item is checked.. Uncheck all and
// check current item..
if($(this).is(':checked')){
checkboxes.attr('checked', false);
$(this).attr('checked', 'checked');
}
});
});
这是一个有效的例子.. http://jsfiddle.net/sushanth009/hBSTC/2/