Grails jQuery ui自动完成

Grails jQuery-ui autocomplete

本文关键字:jQuery ui Grails      更新时间:2023-09-26

所以我正在尝试一种不同的方法来在grails中使用自动完成,以下是我迄今为止得到的。。。

"对象"控制器(是的,事后看来,我知道这是一个非常糟糕的名字):-

def objectFinderAJAX = {
    def objectsFound = Object.withCriteria{
        ilike 'objDesc', '%' + params.term + '%'
    }
    render (objectsFound as JSON)
} 

在页面的标题中,我看到了以下内容:-

$(document).ready(function(){
    $("#eventList > tbody > tr").find('input[type=text]').each(function() {
        $(this).autocomplete({
            source: '<g:createLink controller='Object' action='objectFinderAJAX'/>'
        });
    });  
});     

在正文中,我有一个简化形式的表,看起来是这样的(这是用加载时的多个AJAX调用构建的):-

<table id="eventList">
        <col width="500">
        <col width="750">
            <tr id = 0 class="even" name="main">
                <td colspan="3">
                    <table id = "sub">
                        <tr>
                            <td><b>Action</b></td>
                            <td><select style="width:375px;" name="events[0].id" required="required" id="events[0].id" ><option value="11" >Check a links displayed text</option></select></td>
                            <td>
                                <b>Object</b>
                            </td>
                            <td>
                                <input style="width:500px" id="autoLook[0].id" name="autoLook[0].id" value= "Browser"/>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
</table>

当我在输入中键入任何符号时,肯定什么都没有发生,有线索吗?我甚至试着在控制器中添加println,只是为了输出任何东西,但它没有注册。。。我看不出萤火虫内部发生了什么事。

当我解决了更改ID和名称的问题后,我又开始使用richui,它几乎可以开箱即用地完成我需要的一切。

原刊在这里。

我看到的一个问题是g:createlink的使用方式。

应该是这样的:

${createLink(controller: 'object' , action:'objectFinderAJAX')}

只要使用g:createLink就会将其呈现为字符串。此外,控制器约定要求使用camelCase,其含义应以小写字母开头。

这个链接也可以帮助你实现它: