在jquery中哪个更适合.click()或.change()?

时间:2013-10-16 19:09:19

标签: jquery

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

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

3 个答案:

答案 0 :(得分:5)

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

如果:

是: - &gt;使用.change()
否: - &gt;使用.click()

答案 1 :(得分:0)

根据文件:

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

“更改事件在其值更改时发送给元素。”

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

HTH。

答案 2 :(得分:0)

使用更改

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

如果您想要再次使用该值,以防您选择同一年说“2012”(或任何一年),请使用此

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

这将使#year1 null

的值