我想要有一個jquery函數,當任何複選框被點擊並且基於點擊的複選框的值字段時,它將被激活它將禁用或啓用其他複選框。複選框使用jQuery啓用/禁用
到目前爲止,我有:
$(function() {
$('input [type="checkbox"]').click(function() {
});
});
好了,我已經取得了一些進展..但它仍然沒有工作。
<script type="text/javascript">
$(function() {
$(':checkbox').click(function() {
$value = $(this).attr('value');
if ($(this).is(':checked'))
{
switch ($value)
{
case "BLIPA":
$(':checkbox[value*="B"]').attr('disabled', true);
}
}
else
{
$(':checkbox').each(function()
{
}
}
});
});
我有沒有犯任何錯誤?
編輯:
好吧,我已經解決了它。這裏是解決方案:
所有的<script type="text/javascript">
$(function() {
$("input[type='checkbox']").click(function() {
var value = $(this).attr('value');
if ($(this).is(':checked')) {
var modules = FindModuleRules(value);
$(':checkbox[value*="' + modules[0] + '"]').attr('disabled', true);
$(':checkbox[value*="' + modules[1] + '"]').attr('disabled', true);
$(':checkbox[value*="' + modules[2] + '"]').attr('disabled', true);
$(':checkbox[value~="' + value + '"]').attr('disabled', false);
}
else {
var modules = FindModuleRules(value);
$(':checkbox[value*="' + modules[0] + '"]').attr('disabled', false);
$(':checkbox[value*="' + modules[1] + '"]').attr('disabled', false);
$(':checkbox[value*="' + modules[2] + '"]').attr('disabled', false);
}
});
function FindModuleRules(string) {
var modules = new Array();
var bRegex = /B/;
var lRegex = /L/;
var aRegex = /A/;
if (string.search(bRegex) != -1)
modules[0] = "B";
else
modules[0] = "X";
if (string.search(lRegex) != -1)
modules[1] = "L";
else
modules[1] = "X";
if (string.search(aRegex) != -1)
modules[2] = "A";
else
modules[2] = "X";
return modules;
}
});
在確定複選框是否被選中後,我將如何遍歷頁面上其餘複選框? –
'$(':checkbox')。each(function(){ // $(this)... }' – Thomas