Javascript 分配单选按钮';s标签而不是值
考虑html中的以下单选按钮:Javascript 分配单选按钮';s标签而不是值,javascript,label,radio,Javascript,Label,Radio,考虑html中的以下单选按钮: <tr> <td> Lighting </td> <td> <label for="lighting1"> Off </label> <input id = "lighting1" name="lighting" type="radio" value="0"> </td> <td> <label for="
<tr>
<td> Lighting </td>
<td> <label for="lighting1"> Off </label>
<input id = "lighting1" name="lighting" type="radio" value="0"> </td>
<td> <label for="lighting2"> Low </label>
<input id = "lighting2" name="lighting" type="radio" value="1"> </td>
<td> <label for="lighting3"> High </label>
<input id = "lighting3" name="lighting" type="radio" value="2"> </td>
</tr>
照明
关
低
高
我需要一个javascript语句,它将在变量上指定单选按钮的标签,而不是它的值,即“Off”、“Low”或“High”,而不是“0”、“1”或“2”。当选中单选按钮时
这看起来是如此简单和直截了当,但无论我怎么努力,都无法实现。我也没有在论坛上找到任何有用的答案。请不要让我说所有不可行的试验,只需一行代码就可以了。您可以使用通用名称获取收音机,并使用
input.value=newValue更新值。
函数updateValues(){
var radios=document.querySelectorAll('[name=“lighting”]');
对于(变量i=0;i
照明
关
低
高
更新值
var radioButtons=document.querySelectorAll(“输入[type='radio']”);
对于(var i=0;i{
var radioButton=e.target | | e.src元素;
var label=document.querySelector(“label[for='”+radioButton.id+”);
警报(label.innerText.trim());
});
}
编辑:删除了我最初添加的jquery代码段。因为用户只在寻找javascript解决方案,只保留了它。这是一个很好的答案,但假设已知“Off”、“Low”和“High”:var值=[“Off”、“Low”、“High”];我实际上要做的是从html页面中读取它们。谢谢Rajesh。用javascript?我不熟悉jQuery,整个过程都是用javascript完成的。@MichaelP:我已经删除了jQuery代码片段,并编辑了答案,使其仅包含javascript代码片段。谢谢您的努力
var radioButtons = document.querySelectorAll("input[type='radio']");
for(var i = 0; i< radioButtons.length; i++)
{
radioButtons[i].addEventListener("click", (e)=>{
var radioButton = e.target || e.srcElement;
var label = document.querySelector("label[for='" + radioButton.id + "'");
alert(label.innerText.trim());
});
}