前の質問のチェックボックスからオンロードを有効にして他の要素を表示する
OK、これらのどれも機能しなかったので、例ではなく実際のコードを表示する必要があります。私は例を使用してそれを私の問題に適用しようとしていましたが、あなたの解決策はどれも私の状況ではうまくいきませんでした.
ここにあります。$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 の 2 つの値があり、それらのオプションは有効または無効のいずれかであり、一貫性はありません。値が有効かどうかをphpでテストすると、値はチェックマークをチェックし、3つのボックスフィールドを有効にします。無効になっている場合は、チェック マークがオフになり、3 つのボックスがグレー表示されます。ユーザーは、チェックマークをオンにして (有効にする) 3 つのテキスト フィールドを表示するか、チェック マークをオフにして (無効にする) 3 つのフィールドをグレー表示にすることができます。
これは最終的に一番下の POST に移動し、フィールドのすべての値とチェック マークを mysql に送り返します。
私はこれを完璧に行うことができましたhttp://jsfiddle.net/MVGys/9/同じフォームに複数のチェックマークではなく、1つのチェックマークのみで。