html chỉ chọn một hộp kiểm trong một nhóm


125

Vậy làm thế nào tôi chỉ có thể cho phép người dùng chỉ chọn một hộp kiểm?

Tôi biết các nút radio là "lý tưởng", nhưng với mục đích của tôi ... thì không.

Tôi có một lĩnh vực mà người dùng cần chọn một trong hai tùy chọn, nhưng không phải cả hai. Vấn đề là tôi cần người dùng của mình cũng có thể bỏ chọn tùy chọn của họ và đây là lúc các nút radio không thành công vì một khi bạn chọn nhóm, bạn phải chọn một tùy chọn.

Tôi sẽ xác thực thông tin qua php, nhưng tôi vẫn muốn giới hạn người dùng một câu trả lời nếu họ muốn cung cấp.


1
Chỉ với HTML, điều này không thể được thực hiện. Bạn sẽ cần JavaScript. Nếu bạn đang mở jQuery, tôi có thể cung cấp cho bạn một giải pháp nhanh chóng.
Giấc mơ siêu thực

12
Điều gì về một nút radio thêm có nhãn "không"?
FelipeAls

2
tùy chọn thứ 3 không phù hợp với thiết kế của tôi ... mặc dù vậy thay thế tốt :)
user962449

2
Hộp kiểm với một lựa chọn duy nhất thực sự là một nút radio. Người dùng này có ngạc nhiên không?
Gherman

@Surreal Dreams Nó có thể được thực hiện bằng HTML, xem câu trả lời của tôi. Trong hầu hết các trường hợp, JS đó đơn giản hơn và không cần hack.
Samoody

Câu trả lời:


179

Đoạn trích này sẽ:

  • Cho phép nhóm như các nút Radio
  • Hành động như đài phát thanh
  • Cho phép bỏ chọn tất cả

// the selector will match all input controls of type :checkbox
// and attach a click event handler 
$("input:checkbox").on('click', function() {
  // in the handler, 'this' refers to the box clicked on
  var $box = $(this);
  if ($box.is(":checked")) {
    // the name of the box is retrieved using the .attr() method
    // as it is assumed and expected to be immutable
    var group = "input:checkbox[name='" + $box.attr("name") + "']";
    // the checked state of the group/box on the other hand will change
    // and the current value is retrieved using .prop() method
    $(group).prop("checked", false);
    $box.prop("checked", true);
  } else {
    $box.prop("checked", false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<div>
  <h3>Fruits</h3>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />Kiwi</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />Jackfruit</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />Mango</label>
</div>
<div>
  <h3>Animals</h3>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[2][]" />Tiger</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[2][]" />Sloth</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="fooby[2][]" />Cheetah</label>
</div>


3
Cách sử dụng đúng sẽ là sử dụng $ (this) .is (": đã kiểm tra") "là" để kiểm tra xem hộp kiểm đã được kiểm tra chưa nếu {...} khác {...} tại đây ... jsfiddle .net / zGEaa / 31
sergioal

2
Lưu ý rằng .attr không còn hoạt động nữa, hãy sử dụng .prop ("đã kiểm tra") thay cho các phiên bản mới hơn của jQuery
user871784

@ user871784 - Cảm ơn bạn đã ủng hộ ... Tôi đã cập nhật câu đố!
bPratik

3
Bạn đã bỏ lỡ bộ chọn radio: $ ("input: box.radio")
Sven

@Sven - Nó sẽ là một bộ chọn quá cụ thể trong ví dụ này. Đã nói rằng nếu trang chứa một bộ hộp kiểm khác không có hành vi này, thì sử dụng .radiobộ chọn sẽ giúp ích. Cảm ơn bạn đã chỉ ra :)
bPratik

101

Bạn muốn liên kết một change()trình xử lý để sự kiện sẽ bắt đầu khi trạng thái của hộp kiểm thay đổi. Sau đó, chỉ cần bỏ chọn tất cả các hộp kiểm ngoài cái hộp kiểm đã kích hoạt trình xử lý:

$('input[type="checkbox"]').on('change', function() {
   $('input[type="checkbox"]').not(this).prop('checked', false);
});

Đây là một câu đố


Đối với nhóm, nếu "nhóm" hộp kiểm của bạn là tất cả anh chị em:

<div>
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
</div>  
<div>
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
</div>   
<div>
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
</div>

Bạn có thể làm điều này:

$('input[type="checkbox"]').on('change', function() {
   $(this).siblings('input[type="checkbox"]').prop('checked', false);
});

Đây là một bí ẩn khác


Nếu các hộp kiểm của bạn được nhóm theo một thuộc tính khác, chẳng hạn như name:

<input type="checkbox" name="group1[]" />
<input type="checkbox" name="group1[]" />
<input type="checkbox" name="group1[]" />

<input type="checkbox" name="group2[]" />
<input type="checkbox" name="group2[]" />
<input type="checkbox" name="group2[]" />

<input type="checkbox" name="group3[]" />
<input type="checkbox" name="group3[]" />
<input type="checkbox" name="group3[]" />

Bạn có thể làm điều này:

$('input[type="checkbox"]').on('change', function() {
    $('input[name="' + this.name + '"]').not(this).prop('checked', false);
});

Đây là một bí ẩn khác


Tôi thích mã (cuối cùng) của bạn. Rất ngắn và vẫn rõ ràng. Tôi không chắc chắn nếu 'thay đổi' sẽ kích hoạt khi bạn thay đổi các hộp kiểm khác, nhưng nó đã không xảy ra khi tôi thử nó. Vì vậy, tôi thích mã của bạn. Cảm ơn! :)
Frank Fajardo

Tôi thực sự thích điều này, tôi đã phải thực hiện một điều chỉnh nhỏ cho nhu cầu của mình. Tôi có hai mục để mục đầu tiên được kiểm tra theo mặc định và nếu không được chọn, mục thứ hai sẽ được kiểm tra. Điều này giúp tôi bắt đầu.
john.weland

Xin chào @ john.weland - bạn có ý gì như thế này ?
billyonecan

@billyonecan gần như chính xác nhưng với khả năng nhắm mục tiêu vào một nhóm nhất định. thích điều này . Cảm ơn
john.weland

2
cộng với một cho đơn giản
Chad

26

Nút radio là lý tưởng. Bạn chỉ cần một tùy chọn "không" thứ ba được chọn theo mặc định.


1
Đó là một giải pháp tốt, nhưng tôi thích gắn với các hộp kiểm vì thiết kế của tôi không lý tưởng cho tùy chọn thứ 3.
dùng962449

6
Tôi thực sự khuyên bạn nên thay đổi thiết kế. Đánh dấu 0 hoặc 1 trong 2 tùy chọn này không phải là một mẫu phổ biến và sẽ không trực quan với người dùng như Tick ​​1 trong 3 tùy chọn này
Quentin

4
Tại sao tôi thay đổi toàn bộ thiết kế của mình cho 2 hộp kiểm?
dùng962449

9
Nếu một sự thay đổi như vậy sẽ yêu cầu bạn thay đổi "toàn bộ thiết kế của bạn" thì điều đó cho thấy rằng thiết kế ban đầu quá không linh hoạt.
Quentin

10
Nó không linh hoạt, nó trông không ổn ... Nó có thể trông ổn trên các biểu mẫu và các ứng dụng như vậy, nhưng chúng tôi có cách sử dụng khác nhau cho các hộp kiểm của chúng tôi.
dùng962449

12

Đã có một vài câu trả lời cho điều này dựa trên JS thuần túy nhưng không có câu trả lời nào ngắn gọn như tôi mong muốn.

Đây là giải pháp của tôi dựa trên việc sử dụng thẻ tên (như với các nút radio) và một vài dòng javascript.

function onlyOne(checkbox) {
    var checkboxes = document.getElementsByName('check')
    checkboxes.forEach((item) => {
        if (item !== checkbox) item.checked = false
    })
}
<input type="checkbox" name="check" onclick="onlyOne(this)">
<input type="checkbox" name="check" onclick="onlyOne(this)">
<input type="checkbox" name="check" onclick="onlyOne(this)">
<input type="checkbox" name="check" onclick="onlyOne(this)">


Cảm ơn bạn, cái này đã làm điều đó cho tôi từ tất cả những người khác =)
kaya

6
$("#myform input:checkbox").change(function() {
    $("#myform input:checkbox").attr("checked", false);
    $(this).attr("checked", true);
});

Điều này sẽ làm việc cho bất kỳ số lượng hộp kiểm tra trong mẫu. Nếu bạn có những người khác không thuộc nhóm, hãy thiết lập các bộ chọn các đầu vào áp dụng.


vâng thưa ngài :) Không sao, tôi đã tìm thấy thứ gì đó phù hợp với tôi, mặc dù giải pháp của bạn có vẻ khá đơn giản. Tôi có lẽ đã làm điều gì đó sai ở cuối của tôi. Dù sao đi nữa cũng xin cám ơn.
dùng962449

5

Đây là một giải pháp HTML và JavaScript đơn giản mà tôi thích:

// hàm js chỉ cho phép kiểm tra hộp kiểm một ngày trong tuần:

function checkOnlyOne(b){

var x = document.getElementsByClassName('daychecks');
var i;

for (i = 0; i < x.length; i++) {
  if(x[i].value != b) x[i].checked = false;
}
}


Day of the week:
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Monday" />Mon&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Tuesday" />Tue&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Wednesday" />Wed&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Thursday" />Thu&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Friday" />Fri&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Saturday" />Sat&nbsp;&nbsp;&nbsp;
<input class="daychecks" onclick="checkOnlyOne(this.value);" type="checkbox" name="reoccur_weekday" value="Sunday" />Sun&nbsp;&nbsp;&nbsp;<br /><br />

4

Có thể mã này giúp bạn.

$(document).ready(function(){
$('.slectOne').on('change', function() {
   $('.slectOne').not(this).prop('checked', false);
   $('#result').html($(this).data( "id" ));
   if($(this).is(":checked"))
   	$('#result').html($(this).data( "id" ));
   else
   	$('#result').html('Empty...!');
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

</head>
<body>
<input type="checkbox" class="slectOne" data-id="1 selected"/>
<input type="checkbox" class="slectOne" data-id="2 selected"/>
<input type="checkbox" class="slectOne" data-id="3 selected"/>
<input type="checkbox" class="slectOne" data-id="4 selected"/>
<input type="checkbox" class="slectOne" data-id="5 selected"/>
<input type="checkbox" class="slectOne" data-id="6 selected"/>
<input type="checkbox" class="slectOne" data-id="7 selected"/>
<input type="checkbox" class="slectOne" data-id="8 selected"/>
<input type="checkbox" class="slectOne" data-id="9 selected"/>
<input type="checkbox" class="slectOne" data-id="10 selected"/>
<span id="result"></span>
</body>
</html>

Liên kết làm việc Bấm vào đây


3

Dựa trên câu trả lời của billyonecan , bạn có thể sử dụng đoạn mã sau nếu bạn cần đoạn mã đó cho nhiều hơn một hộp kiểm (giả sử chúng có các tên khác nhau).

    $('input.one').on('change', function() {
        var name = $(this).attr('name');
        $('input[name='+name+'].one').not(this).prop('checked', false);
    }); 

3

Mặc dù JS có thể là con đường để đi, nhưng nó chỉ có thể được thực hiện với HTML và CSS.

Ở đây bạn có một nút radio giả thực sự là một nhãn cho một nút radio ẩn thực sự. Bằng cách đó, bạn sẽ có được chính xác hiệu quả bạn cần.

<style>
   #uncheck>input { display: none }
   input:checked + label { display: none }
   input:not(:checked) + label + label{ display: none } 
</style>

<div id='uncheck'>
  <input type="radio" name='food' id="box1" /> 
  Pizza 
    <label for='box1'>&#9678;</label> 
    <label for='box0'>&#9673;</label>
  <input type="radio" name='food' id="box2" /> 
  Ice cream 
    <label for='box2'>&#9678;</label> 
    <label for='box0'>&#9673;</label>
  <input type="radio" name='food' id="box0" checked />
</div>

Xem tại đây: https://jsfiddle.net/tn70yxL8/2/

Bây giờ, giả sử bạn cần nhãn không thể chọn.

Nếu bạn sẵn sàng bao gồm các nhãn, về mặt kỹ thuật, bạn có thể tránh lặp lại nhãn "bỏ chọn" bằng cách thay đổi văn bản của nó trong CSS, xem tại đây: https://jsfiddle.net/7tdb6quy/2/


1

Ví dụ với AngularJs

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
  <script>
    angular.module('app', []).controller('appc', ['$scope',
      function($scope) {
        $scope.selected = 'other';
      }
    ]);
  </script>
</head>

<body ng-app="app" ng-controller="appc">
  <label>SELECTED: {{selected}}</label>
  <div>
    <input type="checkbox" ng-checked="selected=='male'" ng-true-value="'male'" ng-model="selected">Male
    <br>
    <input type="checkbox" ng-checked="selected=='female'" ng-true-value="'female'" ng-model="selected">Female
    <br>
    <input type="checkbox" ng-checked="selected=='other'" ng-true-value="'other'" ng-model="selected">Other
  </div>



</body>

</html>


1

Với javascript cũ đơn giản.

<html>
<head>
</head>
<body>
<input type="checkbox" name="group1[]" id="groupname1" onClick="toggle(1,'groupname')"/>
<input type="checkbox" name="group1[]" id="groupname2" onClick="toggle(2,'groupname')"  />
<input type="checkbox" name="group1[]" id="groupname3" onClick="toggle(3,'groupname')" />

<input type="checkbox" name="group2[]" id="diffGroupname1" onClick="toggle(1,'diffGroupname')"/>
<input type="checkbox" name="group2[]" id="diffGroupname2" onClick="toggle(2,'diffGroupname')"  />
<input type="checkbox" name="group2[]" id="diffGroupname3" onClick="toggle(3,'diffGroupname')" />
<script>
function toggle(which,group){
var counter=1;
var checkbox=document.getElementById(group+counter);
while(checkbox){
if(counter==which){

}else{
checkbox.checked=false;
}
counter++;
checkbox=document.getElementById(group+counter);
}
}
</script>
</body>
</html>

0

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
  <script>
    angular.module('app', []).controller('appc', ['$scope',
      function($scope) {
        $scope.selected = 'male';
      }
    ]);
  </script>
</head>

<body ng-app="app" ng-controller="appc">
  <label>SELECTED: {{selected}}</label>
  <div>
    <input type="checkbox" ng-checked="selected=='male'" ng-true-value="'male'" ng-model="selected">Male
    <br>
    <input type="checkbox" ng-checked="selected=='female'" ng-true-value="'female'" ng-model="selected">Female
    <br>
    <input type="checkbox" ng-checked="selected=='other'" ng-true-value="'other'" ng-model="selected">Other
  </div>
</body>
</html>


0

Nếu ai đó cần một giải pháp mà không có thư viện javascript bên ngoài, bạn có thể sử dụng ví dụ này. Một nhóm các hộp kiểm cho phép các giá trị 0..1. Bạn có thể nhấp vào thành phần hộp kiểm hoặc văn bản nhãn liên quan.

    <input id="mygroup1" name="mygroup" type="checkbox" value="1" onclick="toggleRadioCheckbox(this)" /> <label for="mygroup1">Yes</label>
    <input id="mygroup0" name="mygroup" type="checkbox" value="0" onclick="toggleRadioCheckbox(this)" /> <label for="mygroup0">No</label>

- - - - - - - - 

    function toggleRadioCheckbox(sender) {
        // RadioCheckbox: 0..1 enabled in a group 
        if (!sender.checked) return;
        var fields = document.getElementsByName(sender.name);
        for(var idx=0; idx<fields.length; idx++) {
            var field = fields[idx];
            if (field.checked && field!=sender)
                field.checked=false;
        }
    }

0

Phiên bản của tôi: sử dụng các thuộc tính dữ liệu và Vanilla JavaScript

<div class="test-checkbox">
    Group One: <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupOne" value="Eat" />Eat</label>
    <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupOne" value="Sleep" />Sleep</label>
    <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupOne" value="Play" />Play</label>
    <br />
    Group Two: <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupTwo" value="Fat" />Fat</label>
    <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupTwo" value="Comfort" />Comfort</label>
    <label>
        <input type="checkbox" data-limit="only-one-in-a-group" name="groupTwo" value="Happy" />Happy</label>
</div>
<script>
    let cbxes = document.querySelectorAll('input[type="checkbox"][data-limit="only-one-in-a-group"]');
    [...cbxes].forEach((cbx) => {
        cbx.addEventListener('change', (e) => {
            if (e.target.checked)
                uncheckOthers(e.target);
        });
    });
    function uncheckOthers (clicked) {
        let name = clicked.getAttribute('name');
        // find others in same group, uncheck them
        [...cbxes].forEach((other) => {
            if (other != clicked && other.getAttribute('name') == name)
                other.checked = false;
        });
    }
</script>

-1

NecromANCE:
không có jQuery, cho cấu trúc hộp kiểm như thế này:

<label>
<input type="checkbox" id="mytrackers_1" name="blubb_1" value="">--- Bitte ausw&#228;hlen ---
</label>
<label>
<input type="checkbox" id="mytrackers_2" name="blubb_2" value="7">Testtracker
</label>
<label>
<input type="checkbox" id="mytrackers_3" name="blubb_3" value="3">Kundenanfrage
</label>
<label>
<input type="checkbox" id="mytrackers_4" name="blubb_4" value="2">Anpassung
</label>
<label>
<input type="checkbox" id="mytrackers_5" name="blubb_5" value="1" checked="checked" >Fehler
</label>
<label>
<input type="checkbox" id="mytrackers_6" name="blubb_6" value="4">Bedienung
</label>
<label>
<input type="checkbox" id="mytrackers_7" name="blubb_7" value="5">Internes
</label>
<label>
<input type="checkbox" id="mytrackers_8" name="blubb_8" value="6">&#196;nderungswunsch
</label>

bạn sẽ làm nó như thế này:

    /// attach an event handler, now or in the future, 
    /// for all elements which match childselector,
    /// within the child tree of the element maching parentSelector.
    function subscribeEvent(parentSelector, eventName, childSelector, eventCallback) {
        if (parentSelector == null)
            throw new ReferenceError("Parameter parentSelector is NULL");
        if (childSelector == null)
            throw new ReferenceError("Parameter childSelector is NULL");
        // nodeToObserve: the node that will be observed for mutations
        var nodeToObserve = parentSelector;
        if (typeof (parentSelector) === 'string')
            nodeToObserve = document.querySelector(parentSelector);
        var eligibleChildren = nodeToObserve.querySelectorAll(childSelector);
        for (var i = 0; i < eligibleChildren.length; ++i) {
            eligibleChildren[i].addEventListener(eventName, eventCallback, false);
        } // Next i 
        // /programming/2712136/how-do-i-make-this-loop-all-children-recursively
        function allDescendants(node) {
            if (node == null)
                return;
            for (var i = 0; i < node.childNodes.length; i++) {
                var child = node.childNodes[i];
                allDescendants(child);
            } // Next i 
            // IE 11 Polyfill 
            if (!Element.prototype.matches)
                Element.prototype.matches = Element.prototype.msMatchesSelector;
            if (node.matches) {
                if (node.matches(childSelector)) {
                    // console.log("match");
                    node.addEventListener(eventName, eventCallback, false);
                } // End if ((<Element>node).matches(childSelector))
                // else console.log("no match");
            } // End if ((<Element>node).matches) 
            // else console.log("no matchfunction");
        } // End Function allDescendants 
        // Callback function to execute when mutations are observed
        var callback = function (mutationsList, observer) {
            for (var _i = 0, mutationsList_1 = mutationsList; _i < mutationsList_1.length; _i++) {
                var mutation = mutationsList_1[_i];
                // console.log("mutation.type", mutation.type);
                // console.log("mutation", mutation);
                if (mutation.type == 'childList') {
                    for (var i = 0; i < mutation.addedNodes.length; ++i) {
                        var thisNode = mutation.addedNodes[i];
                        allDescendants(thisNode);
                    } // Next i 
                } // End if (mutation.type == 'childList') 
                // else if (mutation.type == 'attributes') { console.log('The ' + mutation.attributeName + ' attribute was modified.');
            } // Next mutation 
        }; // End Function callback 
        // Options for the observer (which mutations to observe)
        var config = { attributes: false, childList: true, subtree: true };
        // Create an observer instance linked to the callback function
        var observer = new MutationObserver(callback);
        // Start observing the target node for configured mutations
        observer.observe(nodeToObserve, config);
    } // End Function subscribeEvent 


    function radioCheckbox_onClick() 
    { 
        // console.log("click", this);
        let box = this;
        if (box.checked) 
        {
            let name = box.getAttribute("name");
            let pos = name.lastIndexOf("_");
            if (pos !== -1) name = name.substr(0, pos);

            let group = 'input[type="checkbox"][name^="' + name + '"]';
            // console.log(group);
            let eles = document.querySelectorAll(group);
            // console.log(eles);
            for (let j = 0; j < eles.length; ++j) 
            {
                eles[j].checked = false;
            }
            box.checked = true;
        }
        else
            box.checked = false;
    }


    // /programming/9709209/html-select-only-one-checkbox-in-a-group
    function radioCheckbox()
    { 
        // on instead of document...
        let elements = document.querySelectorAll('input[type="checkbox"]')

        for (let i = 0; i < elements.length; ++i)
        {
            // console.log(elements[i]);
            elements[i].addEventListener("click", radioCheckbox_onClick, false);

        } // Next i 

    } // End Function radioCheckbox 


    function onDomReady()
    {
        console.log("dom ready");
        subscribeEvent(document, "click", 
            'input[type="checkbox"]', 
            radioCheckbox_onClick
        ); 

        // radioCheckbox();
    }

    if (document.addEventListener) document.addEventListener("DOMContentLoaded", onDomReady, false);
    else if (document.attachEvent) document.attachEvent("onreadystatechange", onDomReady);
    else window.onload = onDomReady;

    function onPageLoaded() {
        console.log("page loaded");
    }

    if (window.addEventListener) window.addEventListener("load", onPageLoaded, false);
    else if (window.attachEvent) window.attachEvent("onload", onPageLoaded);
    else window.onload = onPageLoaded;

-1
//Here is a solution using JQuery    
<input type = "checkbox" class="a"/>one
    <input type = "checkbox" class="a"/>two
    <input type = "checkbox" class="a"/>three
    <script>
       $('.a').on('change', function() {
            $('.a').not(this).prop('checked',false);
    });
    </script>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.