我有这样的代码:
<tr>
<td>
<input type="checkbox" name="ordered[]" value="xxx"></input>
</td>
<td>
<input type="checkbox" name="inStock[]" value="yyy"></input>
</td>
</tr>
对MySQL中的每个结果重复代码。
我也在使用这段代码:
<script>
$('input[type="checkbox"]').on('change', function() {
// uncheck sibling checkboxes (checkboxes on the same row)
$(this).siblings().prop('checked', false);
});
</script>
我需要每行只选择一个复选框(每个表tr)。我应该在javascript中更改什么?
谢谢!
答案 0 :(得分:1)
我认为你需要这样的东西
$( document ).ready(function() {
$('input[type="checkbox"]').on('change', function() {
var checkedValue = $(this).prop('checked');
// uncheck sibling checkboxes (checkboxes on the same row)
$(this).closest('tr').find('input[type="checkbox"]').each(function(){
$(this).prop('checked',false);
});
$(this).prop("checked",checkedValue);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="checkboxes">
<tr>
<td>
<input type="checkbox" name="inStock[]" />inStock
</td>
<td>
<input type="checkbox" name="ordered[]" value="xxx" />ordered
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="inStock[]" value="yyy" />inStock
</td>
<td>
<input type="checkbox" name="ordered[]" value="xxx" />ordered
</td>
</tr>
</table>
答案 1 :(得分:0)
我认为你要的是RadioButton。只要给他们不同的ID,但名称相同,你就可以只选择其中一个。
答案 2 :(得分:0)
尝试根据元素名称应用选择器:
$('input[name="ordered[]"]').on('change', function() {
或者你可能想要添加一些其他属性来识别你想要选择的特定元素。
答案 3 :(得分:0)
由于你没有指定哪个兄弟,所以你可以先使用jQuery对象抓取第一个元素:
$(this).siblings().first().prop('checked', false);
您也可以
$(this).siblings(".bar").eq(0).text()
您可以使用eq方法将匹配的元素集减少为特定索引处的元素集:
答案 4 :(得分:0)
如果您使用单选按钮并为所有这些按钮使用相同的名称,您只能一次选择一个单选按钮而其他单选按钮未被取消选中,就像我们的朋友提到的那样您需要包含{{1} <td></td>
标记中的标记。