如何使用javascript仅检查一行中的一行复选框
这是我的看法
<?php $c=0; for($a=0; $a < 5; $a++) { ?>
<table>
<tr class="cbclass">
<td><input type="checkbox" name="cbname" value="1" id="cb" class="cb"></td>
<td><input type="text" name="f_nilai1[]" id="id_tnilai<?php echo $c++; ?>" ></td>
<td><input type="checkbox" name="cbname" value="1" id="cb" class="cb"></td>
<td><input type="text" name="f_nilai2[]" id="id_tnilai<?php echo $c++; ?>" ></td>
<td><input type="checkbox" name="cbname" value="1" id="cb" class="cb"></td>
<td><input type="text" name="f_nilai3[]" id="id_tnilai<?php echo $c++; ?>"></td>
<td><input type="checkbox" name="cbname" value="1" id="cb" class="cb"></td>
<td><input type="text" name="f_nilai4[]" id="id_tnilai<?php echo $c++; ?>"></td>
<td><input type="checkbox" name="cbname" value="1" id="cb" class="cb"></td>
<td><input type="text" name="f_nilai5[]" id="id_tnilai<?php echo $c++; ?>"></td>
</tr>
这是我的javascript我已经在单击复选框时在输入文本中更改了值,我使用它因为在insert_batch复选框时不发布null,所以我使用输入文本发布它,并且它运行良好。接下来,我想只检查一行,有人可以帮帮我吗?
<script type="text/javascript">
$(document).ready(function()
{
var a = $(".cb").length;
$(".cb").click(function(event)
{
for(var i=0; i<a; i++) {
var check = document.getElementsByName('cbname');
if(check[i].checked)
{
$("#id_tnilai"+[i]).val(1);
} else {
$("#id_tnilai"+[i]).val(0);
}
}
});
});
</script>
您可以找到当前复选框的兄弟节点,并将这些兄弟节点的checked属性更改为none。代码如下。
<script type="text/javascript">
$(document).ready(function()
{
var a = $(".cb").length;
$(".cb").click(function(event)
{
var siblings = $(this).parent().siblings();
for (var i = 0; i < siblings.length; i++) {
$(siblings[i]).children().filter('input[type="checkbox"]').prop('checked','');
}
for(var i=0; i<a; i++) {
var check = document.getElementsByName('cbname');
if(check[i].checked)
{
$("#id_tnilai"+[i]).val(1);
} else {
$("#id_tnilai"+[i]).val(0);
}
}
});
});
</script>
希望这能解决你的问题。谢谢