取消选择较低的无线电输入
deselect lower radio inputs
我有一个表格,上面有办公室和每个办公室的 3 种不同价格状态(无线电输入)。对于每个办公室,我选择了不同的价格状态。我需要的是单击按钮使所选输入"禁用"之前的输入。因此,换句话说,用户只能选择较大的付款状态,但不能选择较低的付款状态。这是小提琴:https://jsfiddle.net/L9cm6bkn/
<table>
<tr>
<td>Office 1</td>
<td><input type="radio" name="price-1" checked></td>
<td><input type="radio" name="price-1"></td>
<td><input type="radio" name="price-1"></td>
</tr>
<tr>
<td>Office 2</td>
<td><input type="radio" name="price-2"></td>
<td><input type="radio" name="price-2" checked></td>
<td><input type="radio" name="price-2"></td>
</tr>
<tr>
<td>Office 3</td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3" checked></td>
</tr>
<tr>
<td>Office 4</td>
<td><input type="radio" name="price-4"></td>
<td><input type="radio" name="price-4" checked></td>
<td><input type="radio" name="price-4"></td>
</tr>
</table>
<button>click</button>
这是你的意思吗?
$( "button" ).click(function() {
for (i = 1; i <= 4; i++) {
var radioButtons = $("input:radio[name=price-"+i+"]");
radioButtons.each(function( index ) {
var $self = $(this);
if(!$self.is(':checked')) {
$self.attr('disabled', 'disabled');
}
else {
return false;
}
});
}
});
td{padding:8px; border: 1px solid #858585;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>Office 1</td>
<td><input type="radio" name="price-1" checked></td>
<td><input type="radio" name="price-1"></td>
<td><input type="radio" name="price-1"></td>
</tr>
<tr>
<td>Office 2</td>
<td><input type="radio" name="price-2"></td>
<td><input type="radio" name="price-2" checked></td>
<td><input type="radio" name="price-2"></td>
</tr>
<tr>
<td>Office 3</td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3" checked></td>
</tr>
<tr>
<td>Office 4</td>
<td><input type="radio" name="price-4"></td>
<td><input type="radio" name="price-4" checked></td>
<td><input type="radio" name="price-4"></td>
</tr>
</table>
<button>click</button>
这是我
创建的解决方案,但我还没有运行它,你可能只是想不了解具体的代码。
var office = document.getElementById('office');
var rows = office.getElementsByTagName('tr');
document.getElementsByTagName('button')[0].onclick = function(){
var i,rlen=rows.length;
for(i=0;i<rlen;i++){
var radios = rows[i].getElementsByTagName('input');
var k,len=radios.length;
for(k=0; k<len; k++){
if(radios[k].getAttribute('checked')!==null){
break;
}
radios[k].setAttribute('disabled','disabled');
}
}
}
td{padding:8px; border: 1px solid #858585;}
<table id="office">
<tr>
<td>Office 1</td>
<td><input type="radio" name="price-1" checked></td>
<td><input type="radio" name="price-1"></td>
<td><input type="radio" name="price-1"></td>
</tr>
<tr>
<td>Office 2</td>
<td><input type="radio" name="price-2"></td>
<td><input type="radio" name="price-2" checked></td>
<td><input type="radio" name="price-2"></td>
</tr>
<tr>
<td>Office 3</td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3"></td>
<td><input type="radio" name="price-3" checked></td>
</tr>
<tr>
<td>Office 4</td>
<td><input type="radio" name="price-4"></td>
<td><input type="radio" name="price-4" checked></td>
<td><input type="radio" name="price-4"></td>
</tr>
</table>
<button>click</button>
相关文章:
- 无线电输入更改的jQuery事件未启动
- 通过单击链接(兄弟姐妹?)从无线电输入中获取id
- 角度双向绑定无线电输入
- 检查了多个无线电输入
- 如何更改无线电输入字段中文本的颜色
- 使用 JavaScript 和无线电输入更改 HTML 中的背景颜色有什么错误
- 单击时更改无线电输入值(实际上将其更改回来)
- 为什么我的无线电输入值是 NaN
- 如何为每个无线电输入组分配不同的名称
- 如何使用 JavaScript 在 Firefox 中使所需的无线电输入可选
- 将对象的键绑定到 AngularJS 中的无线电输入值
- 我的 JavaScript 无法正确检查表单的无线电输入
- 取消选择较低的无线电输入
- 根据选中的无线电输入更改表单操作和文本输入名称
- 环通并验证多个无线电输入
- 无线电输入点击功能不会运行
- 如何在页面刷新时保留无线电输入状态
- 根据无线电输入条件禁用和启用按钮提交
- 反应无线电输入不检查
- 我应该如何根据所选的无线电输入重新组织查询的控制流