Ajax调用选择框的更改,由Firefox键触发

时间:2013-01-08 20:06:27

标签: jquery html ajax events firefox

我的选择框有问题。我为事件onchange分配了一个ajax处理程序。如果你使用鼠标它工作正常。但是,当使用键更改选项时,我需要它才能工作。选项会更改,但在select失去焦点之前不会进行ajax调用。问题似乎是firefox特有的。

Fiddle

有谁知道我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以指定onkeyup事件进行选择,然后手动监听更改,请参阅代码

$("#sel").change(function(){
  alert("hello");
});

oldval = $("#sel").val();

$("#sel").keyup(function(){
  if(oldval != $("#sel").val())
  $(this).change();
});

当然应该在生产使用之前进行改进,但这是一个开始。顺便说一句,如果在通过键盘更改值后按Enter键,则会更改事件。我相信你没有按回车键。所以价值确实没有变化,相反,它处于变化的状态。所以浏览器不会触发更改事件。

我希望它会有所帮助。

答案 1 :(得分:0)

向上和向下箭头仅用于浏览您的选项,但如果您想触发它们,则需要按回车键。

<强>更新

实际上,在按Enter键或焦点从选择框开始之前,尚未选择选项。关键事件和鼠标点击事件的行为略有不同。