Javascript 基于单选按钮启用/禁用功能按钮
当页面加载带有单选按钮的表格时,将显示。下表3禁用了按钮X、Y、Z。当用户仅从表中选择单选按钮时,应启用这三个按钮X、Y、Z?Javascript:Javascript 基于单选按钮启用/禁用功能按钮,javascript,jquery,Javascript,Jquery,当页面加载带有单选按钮的表格时,将显示。下表3禁用了按钮X、Y、Z。当用户仅从表中选择单选按钮时,应启用这三个按钮X、Y、Z?Javascript: $('table input[type="radio"]').click(function() { $('input[type="button"]').removeAttr('disabled'); }); HTML: ... ... Javascript: $('table input[type="radio"]').click(fu
$('table input[type="radio"]').click(function() {
$('input[type="button"]').removeAttr('disabled');
});
HTML:
...
...
Javascript:
$('table input[type="radio"]').click(function() {
$('input[type="button"]').removeAttr('disabled');
});
HTML:
...
...
可以将侦听器附加到表中,并且可以通过名称引用单选按钮集。当表中的单选按钮上发生单击事件时,可以根据是否选中特定组中的任何按钮来启用或禁用X、Y和Z按钮。逻辑需要考虑表单重置的情况,例如
<form>
<table id="table0" style="border: 1px solid black;">
<tr>
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<tr>
<td><input type="reset">
<td>
<td>
</table>
<label for="r2-0">X <input type="radio" name="group2" id="r2-0" value="x"></label>
<label for="r2-1">Y <input type="radio" name="group2" id="r2-1" value="y"></label>
<label for="r2-2">Z <input type="radio" name="group2" id="r2-2" value="z"></label>
</form>
<script type="text/javascript">
function enableButtons() {
var buttons1 = document.getElementsByName('group1');
var buttons2 = document.getElementsByName('group2');
var checkedState = false;
// Check if any buttons in group 1 have been checked
for (var i=0, iLen=buttons1.length; i<iLen; i++) {
if (buttons1[i].checked) {
checkedState = true;
break;
}
}
// Enable or disable group 2 buttons based on above result
// When disabling, also uncheck any that are checked
for (var j=0, jLen=buttons2.length; j<jLen; j++) {
if (!checkedState) {
buttons2[j].checked = false;
buttons2[j].disabled = true;
} else {
buttons2[j].disabled = false;
}
}
}
window.onload = function() {
// Disable X, Y & Z buttons
var buttons = document.getElementsByName('group2');
for (var i=0, iLen=buttons.length; i<iLen; i++) {
buttons[i].disabled = true;
}
// Add onlick listener to table
var table = document.getElementById('table0');
if (table) table.onclick = function() {
window.setTimeout(enableButtons, 1);
}
}
</script>
X
Y
Z
功能启用按钮(){
var buttons1=document.getElementsByName('group1');
var buttons2=document.getElementsByName('group2');
var checkedState=false;
//检查是否已检查组1中的任何按钮
对于(var i=0,iLen=buttons1.length;i监听器可以附加到表中,单选按钮集可以通过名称引用。当表中的单选按钮上发生单击事件时,可以根据是否选中特定组中的任何按钮来启用或禁用X、Y和Z按钮。逻辑需要考虑以下情况:表格被重新设置,例如
<form>
<table id="table0" style="border: 1px solid black;">
<tr>
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<tr>
<td><input type="reset">
<td>
<td>
</table>
<label for="r2-0">X <input type="radio" name="group2" id="r2-0" value="x"></label>
<label for="r2-1">Y <input type="radio" name="group2" id="r2-1" value="y"></label>
<label for="r2-2">Z <input type="radio" name="group2" id="r2-2" value="z"></label>
</form>
<script type="text/javascript">
function enableButtons() {
var buttons1 = document.getElementsByName('group1');
var buttons2 = document.getElementsByName('group2');
var checkedState = false;
// Check if any buttons in group 1 have been checked
for (var i=0, iLen=buttons1.length; i<iLen; i++) {
if (buttons1[i].checked) {
checkedState = true;
break;
}
}
// Enable or disable group 2 buttons based on above result
// When disabling, also uncheck any that are checked
for (var j=0, jLen=buttons2.length; j<jLen; j++) {
if (!checkedState) {
buttons2[j].checked = false;
buttons2[j].disabled = true;
} else {
buttons2[j].disabled = false;
}
}
}
window.onload = function() {
// Disable X, Y & Z buttons
var buttons = document.getElementsByName('group2');
for (var i=0, iLen=buttons.length; i<iLen; i++) {
buttons[i].disabled = true;
}
// Add onlick listener to table
var table = document.getElementById('table0');
if (table) table.onclick = function() {
window.setTimeout(enableButtons, 1);
}
}
</script>
X
Y
Z
功能启用按钮(){
var buttons1=document.getElementsByName('group1');
var buttons2=document.getElementsByName('group2');
var checkedState=false;
//检查是否已检查组1中的任何按钮
对于(VAR i=0,ILN=Butns1.1长度;I2不清楚您要问的是什么,是否应该启用按钮,或者如何启用按钮?我不清楚您在问什么。您是询问是否应该启用按钮,还是要启用按钮?为了OP的好处,他们应该考虑使用ID选择器或CSS选择器,以便页面上的每个按钮。当您单击任何单选按钮时,不会启用。此答案将向所有raido按钮(包括禁用的按钮)添加onclick侦听器,这似乎不合适。为了对单选按钮进行分组,它们必须共享一个公用名称(示例中省略),因此按名称选择它们更有意义。如果没有选择单选按钮(这是不允许的,但许多网页忽略了良好的设计原则),这似乎也是合理的然后,X、Y和Z按钮应该再次被禁用。如果已经被禁用,如果检查了它们,它们也应该是未选中的。对于OP的好处,他们应该考虑使用ID选择器或CSS选择器,这样当单击任何单选按钮时,页面上的每个按钮都不能启用。这个答案将添加一个单击按钮。不适用于所有raido按钮,包括禁用的按钮,这似乎不合适。为了对单选按钮进行分组,它们必须共享一个通用名称(示例中省略),因此按名称选择它们更有意义。如果没有选择单选按钮,这似乎也是合理的(这是不允许发生的,但许多网页忽略了良好的设计原则)然后X、Y和Z按钮应该再次被禁用。如果被禁用,如果有任何按钮被选中,它们可能也应该被取消选中。