Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-如果任意两个选定下拉列表值相同,如何显示消息框_Javascript - Fatal编程技术网

Javascript-如果任意两个选定下拉列表值相同,如何显示消息框

Javascript-如果任意两个选定下拉列表值相同,如何显示消息框,javascript,Javascript,如果任意两个下拉列表的值相同,我可以知道如何显示消息框吗 以下是我对这些下拉列表的编码: <form action="checkresult2.php"> <table class="p1" bgcolor="#FFFFCC" bordercolor="#000000" align="center" width="771" border="2"> <tr> <td><div align=

如果任意两个下拉列表的值相同,我可以知道如何显示消息框吗

以下是我对这些下拉列表的编码:

<form action="checkresult2.php">
    <table class="p1" bgcolor="#FFFFCC" bordercolor="#000000" align="center" width="771" border="2">
          <tr>
              <td><div align="center"><strong>No.</strong></div></td>
              <td><div align="center"><strong>Subject Name</strong></div></td>
              <td><div align="center"><strong>Grade</strong></div></td>
          </tr>

          <?php 
          for($i=1; $i<=10; $i++)
          {?>
          <tr>
              <td width="42"><div align="center"><?php echo $i; ?></div></td>
              <td width="539">
                  <select id="subject_opt" name="subj[]">
                      <option value="">--- Please choose a subject ---</option>
                          <?php
                          $result = mysql_query("SELECT * FROM spm_subject");
                          while($s = mysql_fetch_assoc($result))
                          {?>
                              <option value="<?php echo $s['name']; ?>"><?php echo $s["name"]; ?></option>
                      <?php } ?>
                  </select>
              </td>
              <td width="166"><div align="center">
                  <select id="grade_opt" name="grad[]">
                      <option value="">- Select grade -</option>
                          <?php
                          $result2 = mysql_query("SELECT * FROM spm_grade");
                          while($g = mysql_fetch_assoc($result2))
                          {?>
                              <option value="<?php echo $g['grade']; ?>"><?php echo $g["grade"]; ?></option>
                      <?php } ?>
                  </select>
              </div>
              </td>
          </tr>
            <?php }?>
          <tr>
              <td colspan="3">
                  <div align="center">
                      <input type="submit" value="Submit">
                  </div>
              </td>
          </tr>
    </table>
</form>

否。
主题名称
等级
---请选择一个主题---

函数验证()
{
var dropdown1=document.getElementById(“grade_opt”);
var dropdown2=document.getElementById(“subject_opt”);
if(dropdown1.value==dropdown2.value){
警报(“不能有重复值”);
}
}

然后将属性onchange添加到每个select
onchange=“validate()”

如果您使用的是jquery,请使用下面的代码

function validateDropdowns(){
 var selectBox1 = $("#subject_opt option:selected").val();
 var selectBox2 = $("#grade_opt option:selected").val();

  if((selectBox1 != "" && selectBox2 !="") &&(selectBox1 == selectBox2)){
        alert("duplicate values are not accepted");
  }
 }

在每个下拉列表中调用
validateDropdowns()
函数

我认为'id'不应该相同,但'name'可以相同,然后可以使用getElementById进行检查。您应该能够在“id”之后添加$i以对元素进行四舍五入

id="subject_opt<?php echo $i; ?>"
id=“主题选择”
以下是您的示例:

<script>
function checkSubjectAndGrade(num){
    for(i=0;i<2;i++){
        if(i!=num && document.getElementById("subject_opt"+num).value === document.getElementById("subject_opt"+i).value){
            alert("dropdown lists' value are same");
        }
    }
}
</script>
<form action="checkresult2.php">
    <table class="p1" bgcolor="#FFFFCC" bordercolor="#000000" align="center" width="771" border="2">
          <tr>
              <td><div align="center"><strong>No.</strong></div></td>
              <td><div align="center"><strong>Subject Name</strong></div></td>
              <td><div align="center"><strong>Grade</strong></div></td>
          </tr>

          <tr>
              <td width="42"><div align="center">1</div></td>

              <td width="539">
                  <select id="subject_opt0" name="subj[]" onChange="checkSubjectAndGrade(0)">
                      <option value="">--- Please choose a subject ---</option>
                      <option value="aaa">English</option>
                      <option value="bbb">Math</option>                             
                  </select>
              </td>

              <td width="166"><div align="center">
                  <select id="grade_opt0" name="grad[]">
                      <option value="">- Select grade -</option>
                      <option value="aaa">A</option>
                      <option value="bbb">B</option>
                  </select>
              </td>
          </tr>

          <tr>
              <td width="42"><div align="center">2</div></td>

              <td width="539">
                  <select id="subject_opt1" name="subj[]" onChange="checkSubjectAndGrade(1)">
                      <option value="">--- Please choose a subject ---</option>
                      <option value="aaa">English</option>
                      <option value="bbb">Math</option>                             
                  </select>
              </td>

              <td width="166"><div align="center">
                  <select id="grade_opt1" name="grad[]">
                      <option value="">- Select grade -</option>
                      <option value="aaa">A</option>
                      <option value="bbb">B</option>
                  </select>
              </td>
          </tr>       
          <tr>
              <td colspan="3">
                  <div align="center">
                      <input type="submit" value="Submit">
                  </div>
              </td>
          </tr>
    </table>
</form>

函数检查SubjectAndGrade(num){

对于(i=0;i如果值相等则检查更改如果两个“主题选项”值相同怎么办?我只能在那些“主题选项”下拉列表上进行验证吗?是的,只需更改函数中的元素ID即可
<script>
function checkSubjectAndGrade(num){
    for(i=0;i<2;i++){
        if(i!=num && document.getElementById("subject_opt"+num).value === document.getElementById("subject_opt"+i).value){
            alert("dropdown lists' value are same");
        }
    }
}
</script>
<form action="checkresult2.php">
    <table class="p1" bgcolor="#FFFFCC" bordercolor="#000000" align="center" width="771" border="2">
          <tr>
              <td><div align="center"><strong>No.</strong></div></td>
              <td><div align="center"><strong>Subject Name</strong></div></td>
              <td><div align="center"><strong>Grade</strong></div></td>
          </tr>

          <tr>
              <td width="42"><div align="center">1</div></td>

              <td width="539">
                  <select id="subject_opt0" name="subj[]" onChange="checkSubjectAndGrade(0)">
                      <option value="">--- Please choose a subject ---</option>
                      <option value="aaa">English</option>
                      <option value="bbb">Math</option>                             
                  </select>
              </td>

              <td width="166"><div align="center">
                  <select id="grade_opt0" name="grad[]">
                      <option value="">- Select grade -</option>
                      <option value="aaa">A</option>
                      <option value="bbb">B</option>
                  </select>
              </td>
          </tr>

          <tr>
              <td width="42"><div align="center">2</div></td>

              <td width="539">
                  <select id="subject_opt1" name="subj[]" onChange="checkSubjectAndGrade(1)">
                      <option value="">--- Please choose a subject ---</option>
                      <option value="aaa">English</option>
                      <option value="bbb">Math</option>                             
                  </select>
              </td>

              <td width="166"><div align="center">
                  <select id="grade_opt1" name="grad[]">
                      <option value="">- Select grade -</option>
                      <option value="aaa">A</option>
                      <option value="bbb">B</option>
                  </select>
              </td>
          </tr>       
          <tr>
              <td colspan="3">
                  <div align="center">
                      <input type="submit" value="Submit">
                  </div>
              </td>
          </tr>
    </table>
</form>