我的问题如下,我有两类输入:c1s和c1n。
我希望如果检查了类c1n的任何输入,则会检查类c1s中的所有项目,并取消选中c1n中的项目。
我已经完成了以下操作,但仍然无法工作,例如点击的输入不会改变,其余的是,以及其他一些奇怪的情况......也许有人可以看到我的代码并提供更简单的解决方案。
以下代码用于将c1s的输入交换为checked,c1n交换为unchcecked:
首先点击最近的c1s项目类,为输入c1s和c1n创建一个数组,如果没有选中,则检查eaceh c1s set属性,并检查每个c1n set属性是否为false。
$('#TablaAcciones').on('click', '.c1s', function() {
console.log(".");
var inputsc1s = $(".c1s");
var inputsc1n = $(".c1n");
var val = $(this).closest('.c1s').first().attr("value");
alert("s" + val);
inputsc1s.each(function() {
$(this).prop('checked', !$(this).is(':checked'));
});
inputsc1n.each(function() {
$(this).prop('checked', false);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="TablaAcciones">
<thead>
<tr>Hello</tr>
</thead>
<tr>
<td>
<label>c1s</label>
<input type="radio" value="1" name="row1" class="c1s" checked="checked" />
</td>
<td>
<label>c1n</label>
<input type="radio" value="1" name="row1" class="c1n" />
</td>
</tr>
<tr>
<td>
<label>c1s</label>
<input type="radio" value="1" class="c1s" name="row2" />
</td>
<td>
<label>c1n</label>
<input type="radio" value="1" class="c1n" checked="checked" name="row2" />
</td>
</tr>
</table>
&#13;
代码工作50/50但我合法无法提出最终解决方案。
FIDDLE:
https://jsfiddle.net/ggs8zvkj/
欢迎任何帮助。
答案 0 :(得分:1)
试试这个:
这将检查所有c1s&amp;取消选中c1n。
当您使用类时,如果更改类的属性,则不需要使用每个类,它将反映所有元素具有该类。
例如$(".c1s").prop("checked", true)
这对于所有元素都设置为c1s
$('#TablaAcciones').on('click', '.c1s', function () {
if ($(this).prop('checked')) {
$(".c1s").prop("checked", true);
$(".c1n").prop("checked", false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="TablaAcciones">
<thead>
<tr>Hello</tr>
</thead>
<tr>
<td>
<label>c1s</label>
<input type="radio" value="1" name="row1" class="c1s" checked="checked" />
</td>
<td>
<label>c1n</label>
<input type="radio" value="1" name="row1" class="c1n" />
</td>
</tr>
<tr>
<td>
<label>c1s</label>
<input type="radio" value="1" class="c1s" name="row2" />
</td>
<td>
<label>c1n</label>
<input type="radio" value="1" class="c1n" checked="checked" name="row2" />
</td>
</tr>
</table>