第二次验证单选按钮集
Validating sets of radio buttons a second time?
我正在制作一个表单,询问用户有关锦标赛的信息。我需要限制每个位置只有一个团队,反之亦然。后者我已经想通了。但是我在想进一步验证单选按钮的方法时遇到了麻烦。该集合在4x4网格中,每个列和行应该只有一个值。我可以通过将按钮命名为相同来获得团队验证,但我找不到验证位置的方法。我有一种方法来验证复选框,但我需要使用单选按钮,这样我就可以知道用户放置每个复选框的顺序,这样我就可以读取每个组中排名第一和第二的团队。
团队、位置和按钮的布局方式是在一个表格中。
<form>
<table class="groupSeating" cellspacing="2">
<caption>Group Seating</caption>
<colgroup>
<col class="groups" />
<col class="teams" />
<col class="seating" span="4" />
</colgroup>
<tr>
<th rowspan="2" colspan="2"></th>
<th colspan="4">Seating</th>
</tr>
<tr>
<td>1st</td>
<td>2nd</td>
<td>3rd</td>
<td>4th</td>
</tr>
<tr>
<td rowspan="4">Group A</td>
<td>ROX Tigers</td>
<td>
<input type="radio" name="roxSeed" id="ROX1" value="ROX" />
</td>
<td>
<input type="radio" name="roxSeed" id="ROX2" value="ROX" />
</td>
<td>
<input type="radio" name="roxSeed" id="ROX3" value="ROX" />
</td>
<td>
<input type="radio" name="roxSeed" id="ROX4" value="ROX" />
</td>
</tr>
<tr>
<td>G2 Esports</td>
<td>
<input type="radio" name="g2Seed" id="G21" value="G2" />
</td>
<td>
<input type="radio" name="g2Seed" id="G22" value="G2" />
</td>
<td>
<input type="radio" name="g2Seed" id="G23" value="G2" />
</td>
<td>
<input type="radio" name="g2Seed" id="G24" value="G2" />
</td>
</tr>
<tr>
<td>Counter Logic Gaming</td>
<td>
<input type="radio" name="clgSeed" id="CLG1" value="CLG" />
</td>
<td>
<input type="radio" name="clgSeed" id="CLG2" value="CLG" />
</td>
<td>
<input type="radio" name="clgSeed" id="CLG3" value="CLG" />
</td>
<td>
<input type="radio" name="clgSeed" id="CLG4" value="CLG" />
</td>
</tr>
<tr>
<td>Albux Nox Luna</td>
<td>
<input type="radio" name="anxSeed" id="ANX1" value="ANX" />
</td>
<td>
<input type="radio" name="anxSeed" id="ANX2" value="ANX" />
</td>
<td>
<input type="radio" name="anxSeed" id="ANX3" value="ANX" />
</td>
<td>
<input type="radio" name="anxSeed" id="ANX4" value="ANX" />
</td>
</tr>
</table>
</form>
我的代码可能有一个更干净的方式,但我不担心,这是一个学校的项目。我试着从另一个js中获取一些复选框,但我想不出要改变什么。
var limit = 2;
$('input.singleCheckbox').on('change', function(evt) {
if ($(this).siblings(':checked').length >= limit) {
this.checked = false;
}
});
这是你要找的吗?
https://jsfiddle.net/277uu501/2/var reject = false;
$('input[type="radio"]')
.mouseup(function(){
var selectedValues = [];
$('input[type="radio"]:checked').each(function(){
selectedValues.push($(this).parent().index());
});
var selectedValue = $(this).parent().index();
reject = selectedValues.indexOf(selectedValue) != -1;
})
.change(function(){
if(reject) this.checked = false;
});
看来我明白了。试试下面的JS代码:
$('input').on('change', function() {
var initiator = $(this);
var value = initiator.val();
var counter = 0;
$('input:checked').each(function(i, elem) {
if (elem.value === value) {
counter++;
}
});
if (counter > 1) {
initiator.prop('checked', false);
}
});
它不允许在行/列上检查多个单选按钮
相关文章:
- 客户端单选按钮列表验证
- 在单选按钮验证中同时显示错误消息
- javascript单选按钮验证,适用于chrome,不适用于IE
- 单选按钮验证:我可以验证它,但我不知道原因
- javascript中的单选按钮验证错误
- Javascript单选按钮验证错误弹出不到一秒钟,但不应消失
- 欧芹.js根据选定的单选按钮验证表单的各个部分
- 单选按钮验证错误
- JavaScript 中的 HTML 单选按钮验证问题
- AngularJS单选按钮验证
- 单选按钮验证
- 如何修复jQuery插件中的单选按钮验证
- Javascript单选按钮验证错误
- jQuery中的单选按钮验证
- jquery中的单选按钮验证
- 表单验证单选按钮验证
- 单选按钮验证不起作用
- 多组单选按钮验证javascript
- 动态增加单选按钮验证
- 单选按钮验证