1

JQuery UIコンボボックスをクリックすると、それを開こうとしています。基本的には、次のようにします。

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

オートオープン

しかし、コンボボックスでは。

問題は、Imがフォーカスまたはクリックイベントをトリガーすることができないことです。

クリックとバインドのフォーカスイベントを試してみました:実際のフィールド、jqueryによって作成された入力フィールドですが、動作するため、いずれも機能しません。

これをJQueryUIComboBoxで機能させるにはどうすればよいですか?

アップデート

オプションを開いてオプションの上にマウスを置くと、イベントトリガーが表示されることに気づきました。しかし、ここでも、入力部分をクリックしたときにトリガーする必要があります。

*コード*

かみそりコード

<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)**

関数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 に答える