JavaScript警报未显示

时间:2011-09-15 00:19:47

标签: javascript jquery

我正在尝试构建一个选择选项菜单。如果用户选择第一个(默认)选项,则应显示警报窗口,但不显示。需要帮助,谢谢!

这是我的HTML代码

    <select name="sets" id ="selectset">
        <option value="General">Select Set</option>
        <option value="The Happy Couple">Ceremony</option>
        <option value="Ceremony">Ceremony</option>
        <option value="Lunch">Lunch</option>
        <option value="Garden">Garden</option>
        <option value="Longname">This is max length</option>
      </select>
     <input type="button" class="form_button" id="movetoset" value="  Move Marked to Set">

这是我的javascript代码

    $('#movetoset').click(function() {      

              if(document.getElementById("selectset").value == "General"){
                  alert("Please choose a set");
              }
    }

3 个答案:

答案 0 :(得分:3)

为什么不使用jQuery来获取select的值呢?

http://jsfiddle.net/davelnewton/CUGva/

答案 1 :(得分:0)

将HTML代码更改为

<input type="button" class="form_button" onclick="checkFunct()" id="movetoset" value="  Move Marked to Set">

并添加javascript

function checkFunct() {
    if(document.getElementById("selectset").value == "General"){
              alert("Please choose a set");
          }
  }

答案 2 :(得分:0)

您需要确保您发布的JavaScript代码是:

  • 在文档就绪(或onload)处理程序和/或
  • 页面源中的HTML后

否则,当您尝试按其ID选择按钮时,按钮元素将不会被解析,因此将无法找到它,也不会附加任何点击处理程序。

试试这个:

$(function() {
   // other document ready processing (if any) here

   $('#movetoset').click(function() {
      if($("#selectset").val() == "General"){
         alert("Please choose a set");
      }
   }

   // other document ready processing (if any) here
});

(注意$(function() {});$(document).ready(function(){});)的简写

只要你使用jQuery,为什么不使用它的.val()函数?