【问题标题】:How can I pass a dynamic source into jQuery UI combobox?如何将动态源传递到 jQuery UI 组合框?
【发布时间】:2011-11-25 22:17:39
【问题描述】:

我成功地使用了 jQuery 自动完成组合框示例。但是,在示例中,下拉菜单的来源是使用硬编码值创建的。

当然我想在我的应用程序中使用多个组合框。不幸的是,我看不到实现此目的的方法。

combobox.js中代码的操作sn-p是:

lastXhr = $.getJSON( "the_hardcoded_json_request_string", request, function( data, status, xhr ) {
...
}

我尝试在上面添加一些使用“hasClass”的行来检查类的存在。不幸的是,我什至无法分辨是什么对象调用了这段代码。它有一个未定义的 id,我对 hasClass 的调用是错误的。什么鬼?

我在主 javascript 代码中对组合框的调用如下所示:

$("#myselect").combobox();

如果我愿意,我确定 () 用于传递一些参数,但是在 combobox.js 中的声明如下所示:

var cache = {}, lastXhr;
$.widget( "ui.combobox", {
    _create: function() {
...

嗯?我显然不是 Javascript 高手,但我对 $.widget 或对“combobox()”的调用如何神奇地知道从 combobox.js 调用代码一无所知。可以的话请帮忙!

【问题讨论】:

  • 你能提供一个combobox.js的链接吗?难道仅仅是jQueryUI为combobox widget提供的JS吗?

标签: jquery ruby-on-rails jquery-ui combobox


【解决方案1】:

我会尝试以下方式。

(function( $ ) {
    $.widget( "ui.combobox", {
        _create: function(options) {

            // Some code

            var input = this.input = $( "<input>" )
            .insertAfter( select )
            .val( value )
            .autocomplete({
                delay: 0,
                minLength: 0,
                source: options.source,

                // More options...

            })

            // More code...

        });
    })( jQuery );

$("#myselect").combobox({source: 'http://yoursite.com/your/sourceurl'});

观察 _create 函数中添加的选项参数和包装器自动完成小部件的源属性的“option.source”值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多