我可以在document.getelementbyID中传递多个Id吗?

时间:2014-05-06 05:12:32

标签: javascript html

我有一个表格有45个下拉列表,我使用底部代码 验证

如何只使用底部代码的一个函数对我的所有45个下拉列表进行验证?

这是功能

function Validate()
{
var e = document.getElementById("dropdownlistone");
var strUser = e.options[e.selectedIndex].value;
var strUser1 = e.options[e.selectedIndex].text;
if(strUser==0)
{
alert("Please select a user");
}
}
----- HTML CODE 

<select id="dropdownlistone">
<option value="0">Select</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>  
<input type="button" onClick="Validate()" value="select"/>

2 个答案:

答案 0 :(得分:0)

当您需要使用类时,就是这种情况。然后使用querySelectorAll方法:

function Validate() {
    var e = document.querySelectorAll(".dropdownlistone");
    for (var i = 0; i < e.length; i++) {
        var strUser = e[i].options[e[i].selectedIndex].value;
        var strUser1 = e[i].options[e[i].selectedIndex].text;
        if (strUser == 0) {
            alert("Please select a user");
            return;
        }   
    }
}

演示:http://jsfiddle.net/cwNaH/

这是另外一个包含更多用户友好验证消息的示例:http://jsfiddle.net/cwNaH/1/

答案 1 :(得分:0)

您可以对getElementsByTagName框使用DOM方法select,并为您要验证的人设置data-attr to "validate",如果您不希望它只是验证,请不要添加上面提到的属性。

实施例。的 HTML

<select id="sel1" data-attr="validate">
  <option value="0">Select</option>
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
</select> 

<select id="sel2" data-attr="validate">
  <option value="0">Select</option>
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
</select>

<强>的JavaScript

function validate()
{
  var ele = document.getElementsByTagName("select");
  for(var i=0;i<ele.length;i++)
  {
     if(ele.getAttribute("data-attr") && ele.getAttribute("data-attr")=='validate')
     {
          // you have all 47 select boxes whoose data-attr is validate
          // each select box will be in ele[i]
          var value= ele[i].options[ele[i].selectedIndex].value;
          var text= ele[i].options[ele[i].selectedIndex].text;

          alert( value+ " : " + text);
     }
  }
}