【问题标题】:javascript dropdown conditionjavascript下拉条件
【发布时间】:2016-04-12 04:26:12
【问题描述】:

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

               <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="javascript:checkCategory();"

我几乎被困在这一点上。非常感谢您的帮助。感谢您的时间。

【问题讨论】:

  • 为什么要用纯js而不是jquery?
  • 没有onselect应该是onchange;
  • 现在“抛出错误”是指提醒客户他们选择了无效值吗?或者你的意思是在javascript中抛出一个实际的错误。因为这是两个不同的东西。
  • 感谢 itzmukeshy7,这是我需要的功能。 Uzaif 花式 JS 也可以 :)

标签: javascript jquery


【解决方案1】:

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

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

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

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

<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

【讨论】:

    【解决方案2】:

    这是你想要的吗?

    $(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> 

    【讨论】:

      【解决方案3】:

      你的代码已经差不多了,

      你需要给选择元素添加onChange事件

        <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>
      

      【讨论】:

        猜你喜欢
        • 2017-05-09
        • 2016-01-09
        • 2021-03-11
        • 1970-01-01
        • 1970-01-01
        • 2013-04-03
        • 1970-01-01
        • 2020-04-21
        • 1970-01-01
        相关资源
        最近更新 更多