javascript - 如何使用 javascript 获取所选单选按钮的标签

标签 javascript text radio-button

我有以下 HTML

<div class="form-radios" id="edit-submitted-lunchset-lunch"><div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" value="1" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-1">  <label for="edit-submitted-lunchset-lunch-1" class="option">12:00 </label>

</div>
<div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" value="2" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-2">  <label for="edit-submitted-lunchset-lunch-2" class="option">12:30 </label>

</div>
<div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" value="3" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-3">  <label for="edit-submitted-lunchset-lunch-3" class="option">13:00 </label>

</div>
<div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" value="4" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-4">  <label for="edit-submitted-lunchset-lunch-4" class="option">13:30 </label>

</div>
<div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" value="5" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-5">  <label for="edit-submitted-lunchset-lunch-5" class="option">14:00 </label>

</div>
<div class="form-item form-type-radio form-item-submitted-lunchset-lunch">
<input type="radio" class="form-radio" checked="checked" value="6" name="submitted[lunchset][lunch]" id="edit-submitted-lunchset-lunch-6">  <label for="edit-submitted-lunchset-lunch-6" class="option">14:30 </label>

</div>
</div>

我正在尝试检索与单选按钮关联的标签而不是使用以下 javascript 的值,但变量“chosentime”仍然是“未分配”。我通过抛出一些警报来检查我的代码 alert(radios[i].innerhtml);抛出未分配的

var radios = document.getElementsByName('submitted[lunchset][lunch]');
for (var i = 0, length = radios.length; i < length; i++) {
    if (radios[i].checked) {
        alert(i);
        alert(radios[i].value);
        alert(radios[i].innerhtml);
        chosentime = radios[i].innerhtml;
    }
}
window.alert(chosentime);
}

将不胜感激任何帮助。提前致谢。

最佳答案

您必须单独访问相应的标签,因为它位于单独的标签中。因为标签的 for 属性等于它的选项的 id,所以你可以很容易地找到标签:

for(var i=0; i<radios.length; i++) {
    var selector = 'label[for=' + radios[i].id + ']';
    var label = document.querySelector(selector);
    var text = label.innerHTML;
    // do stuff
}

另请查看 this fiddle

关于javascript - 如何使用 javascript 获取所选单选按钮的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709617/

相关文章:

c++ - 使用 vmime 构建电子邮件时出现乱码

jquery - 使用 jQuery 选择单选按钮时显示文本 block

Jquery通过测试值获取单选按钮的id

javascript - 内部带有 TextView 的 jQuery Mobile Listview

javascript - 算法:将列表从一个顺序重新排列到另一个顺序的最佳方法?

javascript - 在 PolishedJS 中使用样式化 map

javascript - window.status 不起作用

r - R中带有背景颜色的文本标签

javascript - jquery。如何等于 .text() .val()

c# - 如何根据数据库的列值检查gridview中的单选按钮