【问题标题】:Get Selected value from dropdown using JavaScript [duplicate]使用 JavaScript 从下拉列表中获取选定值 [重复]
【发布时间】:2013-09-21 17:06:35
【问题描述】:

我有以下 HTML

<form>
  <div class="answer1wrap">
    <select id="mySelect">
      <option value="void">Choose your answer</option>
      <option value="To measure time">To measure time</option>
      <option value="To measure distance">To measure distance</option>
      <option value="To measure volume">To measure volume</option>
    </select>
  </div>
</form>

<button class="btn btn-default" id="checkbtn" onclick="answers();" type="button"><span    class="glyphicon glyphicon-check"></span> Check answers</button>

我也有javascript

function answers()
{
  var selectedanswer=document.getElementById("mySelect").selectedIndex;

  if (document.getElementsByTagName("option")[selectedanswer].value=="To measure time");{
    alert("Thats correct"); 
  }
}

我希望当按下按钮时,它会检查是否选择了“测量时间”选项并仅在选择时提醒我。但是,无论选择了哪个选项,它都会始终显示警报。

有什么想法吗?

【问题讨论】:

标签: javascript select drop-down-menu option


【解决方案1】:

可能是您的if 条件中的逗号。

function answers() {
var answer=document.getElementById("mySelect");
 if(answer[answer.selectedIndex].value == "To measure time.") {
  alert("That's correct!"); 
 }
}

你也可以这样写。

function answers(){
 document.getElementById("mySelect").value!="To measure time."||(alert('That's correct!'))
}

【讨论】:

    【解决方案2】:

    试试

    var e = document.getElementById("mySelect");
    var selectedOp = e.options[e.selectedIndex].text;
    

    【讨论】:

      【解决方案3】:

      我注意到的第一件事是你的 if 语句 ); 的右括号后面有一个分号

      您还应该尝试通过单独为答案声明一个变量来清理您的 if 语句。

      function answers() {
      
      var select = document.getElementById("mySelect");
      var answer = select.options[select.selectedIndex].value;
      
          if(answer == "To measure time"){
              alert("Thats correct"); 
          }
      
      }
      

      http://jsfiddle.net/zpdEp/

      【讨论】:

        【解决方案4】:

        工作的jsbin:http://jsbin.com/ANAYeDU/4/edit

        主要位:

        function answers()
        {
        
        var element = document.getElementById("mySelect");
        var elementValue = element.value;
        
        if(elementValue == "To measure time"){
          alert("Thats correct"); 
          }
        }
        

        【讨论】:

          猜你喜欢
          • 2010-11-08
          • 2022-12-10
          • 1970-01-01
          • 1970-01-01
          • 2016-10-14
          • 2019-03-07
          相关资源
          最近更新 更多