我正在使用Chained选择jQuery插件http://www.appelsiini.net/projects/chained
但我想在第二个选择元素中添加一个jumpmenu,即需要点击提交。如果我使用处理程序更改,则会在链接脚本上触发。
$(function(){
$("#spotCat").chained("#locationCat");
$("#spotCat").change(function(){
window.location.href = $(this).val();
});
});
我不确定解决这个问题的最佳途径?当您“点击”选择下拉箭头时会触发点击时触发的事件?
答案 0 :(得分:0)
基于插件功能的方式(具体来说,它在填充依赖选项列表时始终保留选择的第一个项目的方式),您只需要向匿名if
添加一个change
事件处理函数:
if ($(this).find("option:selected").index() !== 0) {
演示(打开浏览器的开发人员工具,然后转到控制台,查看事件逻辑何时触发 - 或更多内容,当它不触发时): http://jsfiddle.net/ywn6G/
上下文中的if
:
$(function(){
$("#spotCat").chained("#locationCat");
$("#spotCat").change(function(){
if ($(this).find("option:selected").index() !== 0) {
window.location.href = $(this).val();
}
});
});
答案 1 :(得分:0)
以下方式似乎对我有用,它的工作原理是因为除非它处于焦点位置,否则不会触发模糊事件。改变事件没有给出。
$(function(){
$("#spotCat").chained("#locationCat");
$("#spotCat").change(function(){
this.blur()
});
$("#spotCat").blur(function(){
if($(this).val().length !== 0) {
window.location.href = $(this).val();
}
});
});