【问题标题】:Get all select/option lists start by something获取所有选择/选项列表以某事开头
【发布时间】:2013-01-07 02:36:13
【问题描述】:

在 HTML 页面中,我有多个列表。

<select name="salut-1358937506000-OK">
<option selected="" value="OK">OK</option>
<option value="OK">NOK</option>
</select>

<select name="salut-1358937582000-OK">
<option selected="" value="OK">OK</option>
<option value="OK">NOK</option>
</select>
...

在 javascript 中,我想获取所有以“salut-”开头的选择/选项列表。 对于论文列表,我想比较他的名字和他选择的值。

我知道在 jQuery 中是可能的,但不能使用 jquery,只能使用 javascript(JSNI 和 GWT)。

你有什么想法吗?

谢谢!

【问题讨论】:

    标签: javascript dom jsni


    【解决方案1】:
    var selects = document.getElementsByTagName('select');
    var sel;
    var relevantSelects = [];
    for(var z=0; z<selects.length; z++){
         sel = selects[z];
         if(sel.name.indexOf('salut-') === 0){
             relevantSelects.push(sel);
         }
    }
    console.log(relevantSelects);
    

    【讨论】:

    • 谢谢,我会在 JSN 中添加你的代码(例如 $doc 为文档)。
    【解决方案2】:

    您可以使用getElementsByTagName 函数获取每个SELECT 名称,例如:

    var e = document.getElementsByTagName("select");
    for (var i = 0; i < e.length; i++){
      var name = e[i].getAttribute("name");
    }
    

    然后您可以使用以下代码获取每个OPTIONSELECT,以进行任何必要的比较:

    var options = e[i].getElementsByTagName("option")
    

    【讨论】:

      猜你喜欢
      • 2022-12-24
      • 1970-01-01
      • 2019-09-06
      • 2016-08-23
      • 2011-06-27
      • 1970-01-01
      • 2020-07-07
      相关资源
      最近更新 更多