使用jQuery UI自动完成的事件处理程序 - Combobox

时间:2011-11-18 09:47:19

标签: jquery events user-interface autocomplete combobox

我正在使用jQuery UI的自动完成脚本的Combobox。 但现在我必须实现一个功能,它隐藏了第二个组合框的每个选项,它在选择第一个组合的条目后与所选择的组合ID不同。

可能更清楚一点:

选择一个: kundenauswahl

选择两个: jobauswahl

如果选择“kundenauswahl”中的选项,则脚本应检查第二个选择/组合框的选项,如果有的话,它们具有与所选选项“kundenauswahl”相同的ID,如果不是,则显示这些选项,如果不是那些选项应该隐藏......

我不知道我搞砸了哪里, 但是我现在写的脚本,加载后我的页面保持空白... Firebug中没有错误消息......

也许有人可以提供帮助?

我确信这个剧本里面有一些失败...

如果s / o可以帮助我,我会很高兴...: - (

这是代码:

$(document).ready(function() { 

        $( "#kundenauswahl" ).combobox({
            selected: function(event, ui) {
                var optionid = document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id;
                changeoptions(optionid);
                return;
            } // selected
        }); // combobox

        $( "#jobauswahl" ).combobox({

        }); //combobox

    }); // ready(function())


function changeoptions(kundenid) {
    var idtoshow = kundenid;
    for (var counter = 0; counter < document.getElementsByName("joboption").length; counter++) {
        if (document.getElementsByName("joboption")[$counter].id == idtoshow) {
            document.getElementById(idtoshow).style.display = "block";
        } else {
            document.getElementById(idtoshow).style.display = "none";
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你输入变量“$ counter”而不是“counter”。 另外,如果你使用jquery,为什么不一直走? 例如,使用

$('#kundenauswahl option:selected')[0].id

而不是:

document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id

最后,如果没有选择任何选项,页面加载时可能会出现问题。