0

リストからチェックボックスを 1 つだけ選択しようとしています。ここに私が試しているコードがありますが、機能していないようです。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>
4

2 に答える 2

2

それは問題ではないはずです。基本的に、1つのアイテムを選択するときは常に、チェックされているすべてのアイテムをクリアしてから、現在のアイテムをチェックする必要があります。

このコードを試してください。

$(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/

于 2012-09-05T15:34:00.627 に答える
2

チェックボックスは、このタスクには不適切な UI 要素です。ユーザーは、ラジオ ボタンとチェックボックスに特定の動作を期待しています。それを台無しにしないでください。チェックボックスをラジオ ボタンのように動作させるよりも、CLEAR ボタンを追加した方がよいでしょう。

于 2012-09-05T15:17:44.453 に答える