【问题标题】:Struts finding checked radio buttonStruts 查找选中的单选按钮
【发布时间】:2014-04-05 21:26:11
【问题描述】:

我在 struts 中创建了一个单选按钮,但是我看到单选按钮接受一个列表,所以我提供了一个列表 {true:'Yes',false:'No'}。这会创建一个带有 Yes 和 No 标签的单选按钮对,但是我想使用 javascript 来检查单选按钮。

当单选按钮被创建时,它们被赋予带有 'name'true'name'false 的 ID。我对如何使用 javascript 来获取选中的单选按钮及其值感到困惑。下面是我的代码:

Struts 单选按钮

<s:radio name="over18" id= "over18Stat" list="#{true:'Yes',false:'No'}" 
                onclick="Over18Changed(this.value)"/>

Javascript

这个我试过了,还是不行

var ofage = document.getElementByName('over18').value ;

【问题讨论】:

    标签: javascript struts2 radio-button struts


    【解决方案1】:

    getElementsByTagName 是复数形式,因为它返回与给定名称匹配的元素(可能为空)NodeList。

    要获得选中的按钮,循环遍历 NodeList(我已经把它变成了一个函数):

    function getCheckedButton(name) {
      var buttons = document.getElementsByName(name);
    
      for (var i=0; i<buttons.length; i++) {
    
      if (buttons[i].checked) {
        return buttons[i];
      }
    }
    

    如果你只想要按钮的值:

     return buttons[i].value
    

    您也可以使用 querySelector:

    function getCheckedValue(name) {
      var button =  document.querySelector('input[name=' + name + ']:checked');
      return button && button.value;
    }
    

    但是,并非所有正在使用的浏览器都支持 querySelector,并且并非所有支持 querySelector 的浏览器都支持复杂的选择器。

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多