1

一列大约有6-7<select>个项目。<table>为了按下Submit按钮,条件是所有<select>项目都应该被选中。那么如何使用 Javascript 来做到这一点..?

示例代码似乎是这样的:

         <table>
 <tr>
    <td><select name="name1" style="width: 90px; height: 20px"> 
                            <option value = "--" >--</option>
                <option value = "10" >10</option>
         </select>
     </td>
    </tr>
<tr>
    <td><select name="name2" style="width: 90px; height: 20px">
                            <option value = "--" >--</option> 
                <option value = "20" >20</option>
                </select>
     </td>
    </tr>
<tr>
    <td><select name="name3" style="width: 90px; height: 20px"> 
                            <option value = "--" >--</option>
                <option value = "30" >30</option>
                </select>
    </td>
    </tr>
  </table>
4

3 回答 3

0
<table id="mytable">
  <tr>
    <td>
      <select name="name1" style="width: 90px; height: 20px">
        <option value = "--" >--</option>
        <option value = "10" >10</option>
      </select>
    </td>
  </tr>
  <tr>
    <td>
      <select name="name2" style="width: 90px; height: 20px">
        <option value = "--" >--</option>
        <option value = "20" >20</option>
     </select>
    </td>
  </tr>
  <tr>
    <td>
      <select name="name3" style="width: 90px; height: 20px">
        <option value = "--" >--</option>
        <option value = "30" >30</option>
      </select>
    </td>
  </tr>
</table>

<form action="" method="post" onsubmit="if(!check()) return false;">
  <input type="submit" />
</form>

<script type="text/javascript">
function check() {
  elements=document.getElementById("mytable").getElementsByTagName("select");
  for(i=0;i<elements.length;i++){
    if(elements[i].value == "--") { return false; }
  }
  return true;
}
</script>
于 2012-12-04T08:22:52.677 回答
-1
       var arr=new Array();
   status=true;
   function fnc()
   {
       elements=document.getElementById("atable").getElementsByTagName("option");
       for(i=0;i<elements.length;i++)
       {
           arr=elements[i].value;
           if(Number(arr)=='NaN')
            {
                status=false;
                break;
            }

           console.log(Number(arr));
    }
    if(status==true)
    document.getElementById("formname").submit();
    }

你也给你的桌子一个ID

<table id="atable">
于 2012-12-04T07:06:41.830 回答
-1

一种选择是使用jQuery 验证插件,然后将“必需”添加到所有选择字段。

<form id="my_form">
    <select name="select1" class="required"> ... </select>
    <select name="select2" class="required"> ... </select>
    <select name="select3" class="required"> ... </select>
    ....
</form>

然后javascript就像-

$('#my_form').validate();

使用该插件所需要做的就是在页面头中包含 jQuery 和 jQuery 验证脚本

<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script>
    ....
</head>

更新

显然,您的要求非常简单,为这个用例添加一个完整的 js 库到您的站点肯定是过分的。如果这是您要进行的唯一验证,我建议您使用纯 js 解决方案(例如 polin 的答案)。但是,如果您可能对您的站点有进一步的验证要求,那么 jQuery 验证插件非常强大。

于 2012-12-04T07:00:44.103 回答