2014-08-31 67 views
-2

我需要具有單選按鈕質量的複選框列表:帶有收音機按鈕質量的複選框

您只能檢查其中的一個。

我不想使用單選按鈕,因爲我需要其他品質的複選框,就像您可以通過額外的點擊取消選中它一樣。

有沒有簡單的方法來做到這一點?

我可以使用JavaScript,包括挖空和jquery庫。

+0

你嘗試過這麼遠嗎?有沒有你正在努力的代碼片段? – 2014-08-31 13:57:31

+0

一旦複選框被選中,禁用其他複選框。然後,當一個未選中,然後刪除禁用attr。 – Sean 2014-08-31 13:59:11

回答

2

​​

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

HTML:

<fieldset> 
    <legend>Group1</legend> 
     <input type="checkbox" class="radio" value="1" name="fooby[1][]" /> 
     <input type="checkbox" class="radio" value="1" name="fooby[1][]" /> 
     <input type="checkbox" class="radio" value="1" name="fooby[1][]" /> 
    </fieldset> 
<fieldset> 
    <legend>Group2</legend> 
     <input type="checkbox" class="radio" value="1" name="fooby[2][]" /> 
     <input type="checkbox" class="radio" value="1" name="fooby[2][]" /> 
     <input type="checkbox" class="radio" value="1" name="fooby[2][]" /> 
</fieldset> 

複選框組酷似單選按鈕組

的jsfiddle: Checkbox Group

使用Javascript:

$("input:checkbox").click(function(){ 
    var group = "input:checkbox[name='"+$(this).attr("name")+"']"; 
    $(group).attr("checked",false); 
    $(this).attr("checked",true); 
}); 

複選框組,你可以刪除所有檢查。

的jsfiddle: Checkbox Group(can remove all checked)

的Javascript:

$("input:checkbox").change(function(){ 
    var group = "input:checkbox[name='"+$(this).attr("name")+"']";  
    $(group).not(this).prop("checked",false); 
    $(this).prop("checked",!this.checked);  
}); 
+0

關閉,但OP還表示「需要其他特性的複選框,就像你可以通過額外的點擊取消選中一樣」。您的示例不允許取消選中該複選框。 – Sean 2014-08-31 14:03:15

+0

我已經更新了答案。 這可能對他人有用。 – Hamix 2014-09-01 05:22:15

相關問題