javascript下拉条件

时间:2016-04-12 04:26:13

标签: javascript jquery

我有以下下拉列表。如果选择值失败,客户端希望形成抛出错误。我告诉他简单的解决方案是从菜单中删除失败:)这种方式只有选项是通过,问题解决了:)不是真的。他仍然想要两个选项,如果选择了Fail,他希望看到所需的错误可能是一个文字,说你需要选择Pass。

               <div class="section colm colm6">
                  <label class="field select">
                      <select id="cond" name="Cond" required>
                           <option value=''>Condition</option>
                           <option value='Pass' >Pass</option>
                           <option value='Fail' >Fail</option>
                        </select>
                          <i class="arrow double"></i>                             
                  </label>
               </div> 

我需要在选择文件后立即进行错误检查,而不是直到提交整个表单。我还有另外2次失败和传球下拉,2次是和没有下拉,我需要做同样的事情。如果我得到一个工作,我应该能够其他人(我希望)

我猜我需要创建一种类似于

的功能
  function checkCategory(){
        if(document.getElementById('cond').value === 'Fail') {
           alert("Client says you need to enter Pass");
   return false;
   }
  }

并且可能使用onselect(我不知道如何调用它)使用onselect =&#34; javascript:checkCategory();&#34;

我几乎陷入困境。非常感谢您的帮助。感谢您的时间。

3 个答案:

答案 0 :(得分:1)

这是你想要的吗?

$(function(){
  $("select#cond").on("change", function(){
    if(this.value == "Fail"){
      alert("Client says you need to enter Pass.")
    }
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<div class="section colm colm6">
  <label class="field select">
    <select id="cond" name="Cond" required>
      <option value=''>Condition</option>
      <option value='Pass' >Pass</option>
      <option value='Fail' >Fail</option>
    </select>
    <i class="arrow double"></i>                             
  </label>
</div> 

答案 1 :(得分:1)

你的代码几乎就在那里,

您需要将onChange事件添加到select元素

  <div class="section colm colm6">
              <label class="field select">
                  <select id="cond" name="Cond" required onChange="checkCategory()">
                       <option value=''>Condition</option>
                       <option value='Pass' >Pass</option>
                       <option value='Fail' >Fail</option>
                    </select>
                      <i class="arrow double"></i>                             
              </label>
           </div>

答案 2 :(得分:1)

使用jquery很容易做到这一点,只需使用其.change()事件处理程序,如下所示:

$(function() {
    $('#cond').change(function() {
    if(this.value === 'Fail') {
        alert('Please Select Pass');
    }
  })
})

这将解决您的问题。检查这个jsFiddle:https://jsfiddle.net/mayank_shubham/9d3dcd07/

您也可以使用选择菜单中的onchange事件处理程序在javascript中执行此操作:

<script>

function checkCategory() {
    if(document.getElementById('cond').value === 'Fail') {
    alert('Please Select Pass');
  }
  return false;
}

</script>
<div class="section colm colm6">
    <label class="field select">
        <select id="cond" name="Cond" onchange = "checkCategory()"required>
             <option value=''>Condition</option>
             <option value='Pass' >Pass</option>
             <option value='Fail' >Fail</option>
          </select>
            <i class="arrow double"></i>                             
    </label>
 </div> 

查看有效的demo