何らかの理由で私のコードが機能しない?! すべてが「チェックされていない」場合はチェックボックスをチェックする必要があり、非表示フィールドを有効にして値をデータベースに送信すると、チェックボックスがチェックされていないことを識別できます。
質問 1: jquery コードが機能しないのはなぜですか?
質問 2:チェック済みまたは未チェックの値を DB に記録する必要があります。私の計画は、phpで何も選択されていないかどうかを確認することです。これは良い習慣ですか?
HTML
<tr class="more_info">
<th valign="top">Other options:</th>
{foreach from=$HTML_cOPTIONS key=dbname item=optname}
{if ! empty($CARINFO[car].{$dbname})}
<td><input type="checkbox" id="forced_checkbox" name="c_options[]" value="{$dbname}" checked/> {$optname} </br></td>
{else}
<td><input type="checkbox" id="forced_checkbox" name="c_options[]" value="{$dbname}"/> {$optname} </br></td>
{/if}
{/foreach}
<input type="hidden" id="forceSendCheckBox" name="c_options[]" value="nocheckboxes"/>
<input type="button" value="Check" id="check" />
</tr>
Jクエリ
$('#check').bind('click',function()
{
if ($('#forced_checkbox').filter(':not(:checked)').length == 0) {
console.log('at least one checked');
$("#forceSendCheckBox").prop('disabled',true);//do not send this field to DB
} else {
console.log('nothing checked');
$("#forceSendCheckBox").prop('disabled',false);//send empty checkboxes
}
});
アップデート
ここにフィドルがありますが、まだ壊れているようです。:-/