-1

当我在选择元素中按下一个选项时,我想触发功能。我认为 .click() 会更好,但事实是,它执行得太快了,以至于不允许我从选择中选择选项。相反,当我打开下拉列表时,它会采用第一个选项的值。有人可以建议我处理这个问题的方法吗?

HTML:

<select name="year2" id="year1" style="width:200px;">
    <option value="none"> none </option>
    <option value="2015"> 2015 </option>
    <option value="2014"> 2014 </option>
    <option value="2013"> 2013 </option>
</select>

JavaScript:

$( "#year1" ).click(function() {
   var year=$("#year1").val();
   var stream=$("#stream").val();
   $.ajax({
      url:"checkonserver.jsp",
4

3 回答 3

5

向您提问:您是否需要在您的函数中使用所选选项的值?

如果:

是: -> 使用.change()
否: -> 使用.click()

于 2013-10-16T19:11:41.490 回答
0

根据文档:

“当鼠标指针悬停在元素上时,点击事件被发送到元素,并且鼠标按钮被按下和释放”

“当元素的值改变时,改变事件被发送到元素。”

如前所述,根据您正在使用的触发器和元素选择事件。

HTH。

于 2013-10-16T19:18:07.990 回答
0

使用变化

$('#year1').on('change',function()
 {
    var year=$('#year1').val();
  }
);

如果您在选择同一年时再次需要该值,请说“2012”(或任何年份),请使用此

$('#year1').on('change',function()
 {
    var year=$('#year1').val();
    $('#year1').val(" ")
  }
);

这将使#year1null的值

于 2013-10-16T19:18:41.423 回答