私はPHP foreach(codeigniter内)で作成したテーブルでかなり簡単な問題があります。phpでテーブル内のチェックボックスforeach
テーブル内の1つの列に2つのチェックボックスがあります。 1つのtrue
と1つのfalse
なので、テーブルを作成するときにいくつかの名前と情報、2つのチェックボックスがあります。ユーザーがtrue
をクリックするたびに、データベースのAJAX POST呼び出しを作成して列の状態を変更します。しかし、ユーザーがtrue
をクリックしてからfalse
をクリックすると、true
のチェックボックスをオフにします。ここで
は、ここでの問題は、私は、テーブルのチェックボックスの2行目はfalse
を言うことができますチェックしたときに、上の変更があることがあるコード
<table class="responstable">
<tr>
<th>ID</th>
<th><span>Name</span></th>
<th>number1</th>
<th>number2</th>
</tr>
<?php
foreach($students as $column => $data) { ?>
<tr>
<td><?php echo $data[0]->Userproperties_UserAM; ?></td>
<td><?php echo $data[0]->Userproperties_UserFullName; ?></td>
<td><?php echo $data[0]->UserAbsence; ?></td>
<td> <input class="true" id="<?php echo $data[0]->Userproperties_UserId; ?>" type='checkbox' value="<?php echo $data[0]->Userproperties_UserAM; ?>" />
<label for='true'>
<span></span>
True
</label>
<input class="false" id="<?php echo $data[0]->Userproperties_UserId; ?>" type='checkbox' value="<?php echo $data[0]->Userproperties_UserAM; ?>" />
<label for='false'>
<span></span>
False
</label></td>
</tr>
<?php } ?>
</table>
とAjaxコード
$(document).ready(function() {
$('.true').change(function() {
if($(this).is(":checked")) {
$('.false').attr('checked', false);
var moduleid = <?php echo $moduleid; ?>;
var teacherid = <?php echo $teacherid; ?>;
var studentid = $(this).attr('id');
var weeknum = $("#dropi").val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/TeacherParousies/send_parousia",
data: {
moduleid: moduleid,
studentid: studentid,
teacherid: teacherid,
parousia: 1,
weeknum: weeknum
},
success: function(res) {
},
error: function(err) {
}
});
}
});
$('.false').change(function() {
if($(this).is(":checked")) {
$('.true').attr('checked', false);
var moduleid = <?php echo $moduleid; ?>;
var teacherid = <?php echo $teacherid; ?>;
var studentid = $(this).attr('id');
var weeknum = $("#dropi").val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/TeacherParousies/send_parousia",
data: {
moduleid: moduleid,
studentid: studentid,
teacherid: teacherid,
parousia: 0,
weeknum: weeknum
},
success: function(res) {
},
error: function(err) {
}
});
}
});
});
ですチェックされている場合はtrue
の1行目です。
私は
if($(this).is(":checked"))
任意のアイデアを述べているが?
ラジオボタンの使用を検討しましたか? – ymas
@ymas nopなぜ私はそれが自分の行のチェックボックスのチェックを外していないのかと思っていました。私は 'class'のためにそのことを知っていますが、私の既存のコードで動作させるにはどうしたらいいですか?そして、私は上記のコードと同じ問題があると思います。 –
クラス名はチェックボックスのチェックとチェックを外すために使用され、クラスは一意の識別子ではないため、他の行が変更されます。クラス名を使用する代わりに、Idを使用します。 –