checkboxlist只选择一个项目

时间:2012-09-05 15:15:36

标签: jquery asp.net

我试图从列表中只选择一个复选框。这是我正在尝试的代码,但它似乎没有工作。我可以使用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>

2 个答案:

答案 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/