从以前的问题复选框启用 onload 以显示其他元素
好的,因为这些都不起作用,我将不得不只显示我的实际代码而不是示例。我只是想使用一个示例,然后将其应用于我的问题,但是您的解决方案都不适用于我的情况。
所以就在这里。$stuff 来自 mysql 并且被启用或禁用,如果 $stuff 是“启用”则需要检查复选标记,如果“禁用”则不选中。
HTML
<tr>
<td>blah</td>
<td>
<?php
if ($stuff1 == 'enabled'){
echo "<input type='checkbox' name='a1' id='checker' checked=checked>";
} else {
echo "<input type='checkbox' name='a1' id='checker'>";
}
?>
</td>
<td></td>
</tr>
<tr>
<td><div align="right">a1:</div></td>
<td><input id="tb1" type='text' name='a1_1' size='25' maxlength='5' value='<?php echo $a1_1 ?>'></td>
<td> </td>
</tr>
<tr>
<td><div align="right">a2:</div></td>
<td><input id="tb2" type='text' name='a2_2' size='25' maxlength='5' value='<?php echo $a2_2 ?>'></td>
<td> </td>
</tr>
<tr>
<td><div align="right">a3:</div></td>
<td><input id="tb3" type='text' name='a3_3' size='25' maxlength='5' value='<?php echo $a3_3 ?>'></td>
<td> </td>
</tr>
<tr>
<td><div align="center">Activate Something Else</div></td>
<td>
<?php
if ($stuff2 == 'enabled'){
echo "<input type='checkbox' name='b1' id='checker2' checked=checked>";
} else {
echo "<input type='checkbox' name='b1' id='checker2'>";
}
?>
</td>
<td></td>
</tr>
<tr>
<td><div align="right">b1:</div></td>
<td><input id="tb4" name="b1_1" type="text" size="25" maxlength='5' value='<?php echo $b1_1 ?>'></td>
<td> </td>
</tr>
<tr>
<td><div align="right">b2:</div></td>
<td><input id="tb5" name="b2_2" type="text" size="25" maxlength='5' value='<?php echo $b2_2 ?>'></td>
<td> </td>
</tr>
<tr>
<td><div align="right">b3:</div></td>
<td><input id="tb6" name="b3_3" type="text" size="25" maxlength='5' value='<?php echo $b3_3 ?>'></td>
<td> </td>
</tr>
这是我以前的 jquery 代码
$(document).ready(function() {
toggleInputs($('#checker'));
$('#checker').click(function () {
toggleInputs($(this));
});
});
function toggleInputs(element) {
if (element.prop('checked')) {
$('#tb1').prop('disabled', false);
$('#tb2').prop('disabled', false);
$('#tb3').prop('disabled', false);
} else {
$('#tb1').prop('disabled', true);
$('#tb2').prop('disabled', true);
$('#tb3').prop('disabled', true);
}
}
如果经过测试,您可以看到顶部复选标记仅适用于表单上的第二个输入。
我的情况:在这种形式中,您有 2 个值 $stuff1 和 $stuff2,它们的选项要么启用要么禁用,它们永远不会一致。当 php 测试该值是否启用时,该值检查复选标记,并启用 3 个框字段。如果它被禁用,则取消选中复选标记,并且 3 个框显示为灰色。用户现在可以选中(启用)复选标记并显示 3 个文本字段,或者取消选中(禁用)复选标记并使 3 个字段变灰。
这最终将转到底部的 POST 并将字段的所有值和复选标记发送回 mysql。
我可以在这里完美地做到这一点http://jsfiddle.net/MVGys/9/只有1个复选标记,而不是同一个表单上的多个复选标记。