1

当我点击它时,我试图打开一个 JQuery UI 组合框,基本上我想要的是:

$("#auto").bind("focus", function () {
    this.value = '';
    $(this).autocomplete("search", '');
});
​

自动打开

但是在组合框中。

问题是我无法获得要触发的焦点或单击事件。

我已经尝试了单击并绑定焦点事件:实际字段,由 jquery 创建的输入字段,但它们都没有工作。

我怎样才能让它在 JQueryUI ComboBox 中工作?

更新

我刚刚注意到,当我打开选项并将鼠标悬停在选项上时,我得到了事件触发器。但是,当我单击输入部分时,我想要再次触发它。

*代码 *

剃刀代码

<div class="editor-label">
            @Html.LabelFor(model => model.Lugar, "Nombre del Lugar")
        </div>
        <div class="editor-field">
            @Html.DropDownList("Lugar", String.Empty)
            @Html.ValidationMessageFor(model => model.Lugar)
        </div>

JavaScript 代码

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

活动

$("#Lugar").click(function () {
        alert("Handler for .click() called.");
    });


$("#Lugar-input").bind("focus", function ()
    {
        alert("a");
    });
4

1 回答 1

0

在单击事件中创建输入字段时添加对函数 openMethod 的调用

var input = this.input = $("<input>")
                    //.appendTo(wrapper)
                    .insertAfter( select )
                    .val(value)
                    .attr("title", "")
                    **.click(openmethod)**

函数开放方法

var openmethod = function () {
                    // close if already visible
                    if (input.autocomplete("widget").is(":visible")) {
                        input.autocomplete("close");
                        return;
                    }

                    // work around a bug (likely same cause as #5265)
                    $(this).blur();

                    // pass empty string as value to search for, displaying all results
                    input.autocomplete("search", "");
                    input.focus();
                };
于 2012-11-28T15:49:21.177 回答