【发布时间】:2011-02-10 10:27:46
【问题描述】:
我正在尝试根据复选框的选择启用和禁用复选框。如果您在这里查看我的代码的实时版本 http://jsfiddle.net/prady/VZ4yW/3/
我想要的是不能在同一行中选择 2 个复选框,并且不能在同一列中选择 2 个复选框。查看链接可能会让您清楚地了解我想要什么。
“更改此参数”和“生成此参数的模拟值”列中只能选择一个复选框,但不能在同一行。
以防万一您无法查看此处的链接是代码
<table>
<tr>
<td></td>
<td></td>
<td>Change this parameter</td>
<td>Generate simulated value for this param</td>
</tr>
<tr>
<td>Project cost</td>
<td><input type ="text" id ="pc"/></td>
<td><input class="change" type="checkbox" name="chkBox" id="chkBox"></input></td>
<td><input class="sim" type="checkbox" name="chkBox1" id="chkBox1"></input></td>
</tr>
<tr>
<td>Avg hours</td>
<td><input type ="text" id ="avghrs"/></td>
<td><input class="change" type="checkbox" name="chkBoxa" id="chkBoxa"></input></td>
<td><input class="sim" type="checkbox" name="chkBox1a" id="chkBox1a"></input></td>
</tr>
<tr>
<td>Project completion date</td>
<td><input type ="text" id ="cd"/></td>
<td><input class="change" type="checkbox" name="chkBoxb" id="chkBoxb"></input></td>
<td><input class="sim" type="checkbox" name="chkBox1b" id="chkBox1b"></input></td>
</tr>
<tr>
<td>Hourly rate</td>
<td><input type ="text" id ="hr"/></td>
<td><input class="change" type="checkbox" name="chkBoxc" id="chkBoxc"></input></td>
<td><input class="sim" type="checkbox" name="chkBox1c" id="chkBox1c"></input></td>
</tr>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#chkBox').click(function(){
var paramChangeBoxes = $('input:checkbox.change');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBox1').attr('disabled', 'disabled');
$('#chkBox').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1').removeAttr('disabled');
}
});
$('#chkBoxa').click(function(){
var paramChangeBoxes = $('input:checkbox.change');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBox1a').attr('disabled', 'disabled');
$('#chkBoxa').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1a').removeAttr('disabled');
}
});
$('#chkBoxb').click(function(){
var paramChangeBoxes = $('input:checkbox.change');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBox1b').attr('disabled', 'disabled');
$('#chkBoxb').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1b').removeAttr('disabled');
}
});
$('#chkBoxc').click(function(){
var paramChangeBoxes = $('input:checkbox.change');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBox1c').attr('disabled', 'disabled');
$('#chkBoxc').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1c').removeAttr('disabled');
}
});
$('#chkBox1').click(function(){
var paramChangeBoxes = $('input:checkbox.sim');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBox').attr('disabled', 'disabled');
$('#chkBox1').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1').removeAttr('disabled');
$('#chkBox').removeAttr('disabled');
}
});
$('#chkBox1a').click(function(){
var paramChangeBoxes = $('input:checkbox.sim');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBoxa').attr('disabled', 'disabled');
$('#chkBox1a').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1a').removeAttr('disabled');
$('#chkBoxa').removeAttr('disabled');
}
});
$('#chkBox1b').click(function(){
var paramChangeBoxes = $('input:checkbox.sim');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBoxb').attr('disabled', 'disabled');
$('#chkBox1b').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1b').removeAttr('disabled');
$('#chkBoxb').removeAttr('disabled');
}
});
$('#chkBox1c').click(function(){
var paramChangeBoxes = $('input:checkbox.sim');
if ($(this).is(':checked')) {
paramChangeBoxes.attr('disabled', 'disabled');
$('#chkBoxc').attr('disabled', 'disabled');
$('#chkBox1c').removeAttr('disabled');
}
else
{
paramChangeBoxes.removeAttr('disabled');
$('#chkBox1c').removeAttr('disabled');
$('#chkBoxc').removeAttr('disabled');
}
});
});
</script>
【问题讨论】:
标签: javascript jquery