Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何定制Tapestry jquery自动完成_Jquery_Autocomplete_Tapestry - Fatal编程技术网

如何定制Tapestry jquery自动完成

如何定制Tapestry jquery自动完成,jquery,autocomplete,tapestry,Jquery,Autocomplete,Tapestry,我正在为Tapestry使用jQuery自动完成mixin。我想更改select函数的行为。我需要将label属性返回到输入字段,并将value属性传递给同级元素。我已经将select函数描述添加到javascript文件中,但什么也没有发生。我想知道如何使我的解决方案有效 (function ($) { T5.extendInitializers(function () { function init(specs) { var element = $("#" +

我正在为Tapestry使用jQuery自动完成mixin。我想更改select函数的行为。我需要将label属性返回到输入字段,并将value属性传递给同级元素。我已经将select函数描述添加到javascript文件中,但什么也没有发生。我想知道如何使我的解决方案有效

(function ($) {

 T5.extendInitializers(function () {
    function init(specs) {

        var element = $("#" + specs.id),
            conf = {
                source: function (request, response) {
                 //...Defining Source Data
                },
                select: function (e,ui) {
                    e.preventDefault();
                    $("#" + specs.id).val(ui.item.label);
                    $("#" + specs.id).next().val(ui.item.value);
                },
                change: function(e,ui) {
                    alert("ss");
                }
            };

        if (specs.delay >= 0)
            conf.delay = specs.delay;

        if (specs.minLength >= 0)
            conf.minLength = specs.minLength;

        if (specs.options) {
            $.extend(conf, specs.options);
        }
        element.autocomplete(conf);
    }
    return {
        autocomplete: init
    }
  });
})(jQuery);

我在我的tapestry应用程序中尝试了一点自动完成。tapestry js twerking的主要功能是要认识到,在幕后仍然有简单的jQuery及其API

这是用鼠标选择值后提交表单的修复程序

在js文件中:

function initSearchBox(options) {
    $(document).ready(function () {
        var searchBoxElem = $("#" + options.searchBoxId);
        searchBoxElem.on('autocompleteselect', function (event, ui) {
            // if "enter" pressed
            if(event.which == 13){
                $('#form').submit();
            } else {
                searchBoxElem.val(ui.item.label);
                $('#form').submit();
            }
            event.preventDefault();
        });
    });
}
在java文件中:

@AfterRender
public void afterRender() {
    // autocomplete selected fix
    JSONObject options = new JSONObject();
    options.put("searchBoxId", SEARCH_BOX_ID);
    javaScriptSupport.addScript("initSearchBox(%s)", options.toString());
}