次のように生成された2つのチェックボックスがあります。
<table>
<?php foreach ($invited_members as $mem) : ?>
<?php if ($mem['mc_role'] != 'c') : ?>
<tr>
<td style="width:40px;text-align:center"> attend </td>
<td style="width:40px;text-align:center"><input name="p_members[]" id="p_members" type="checkbox" value="<?php echo $mem['member_id']; ?>" <?php if ($mem['mm_present'] == 1) echo 'checked="checked"'; ?> <?php if (!$this->isSupervisor or $meeting_info['meeting_status'] != 2) echo 'disabled="disabled"';?> onclick="change(this,'#on_p_members');"/></td>
<td style="width:40px;text-align:center"> E-attend </td>
<td style="width:40px;text-align:center"><input name="on_p_members[]" id="on_p_members" type="checkbox" value="<?php echo $mem['member_id']; ?>" <?php if ($mem['mm_present'] == 2) echo 'checked="checked"'; ?> <?php if (!$this->isSupervisor or $meeting_info['meeting_status'] != 2) echo 'disabled="disabled"'; ?>onclick="change(this,'#p_members');"/></td>
<td style="width:50px;text-align:center"><img src="<?php echo base_url() . 'avaters/' . $mem['mem_image']; ?>" height="38" width="38" /></td>
<td><?php echo stripslashes($mem['mem_real_name']); ?></td>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</table>
ユーザーがそのうちの1つをチェックしてもう1つを無効にしたときに欲しいので、jqueryの使用に疲れました
function change(p_members,x)
{
if ($(p_members).attr('checked'))
{
$(x).attr('checked',false);
$(x).attr('disabled',true);
}
else
{
$(x).removeAttr('disabled');
}
}
しかし、それは正しく機能しませんでした。2 行目のユーザーがチェックボックスを 1 つオンにすると、その前の行のチェックボックスの 1 つが無効になります。どうすればこれを解決できますか?