Grails jQuery-ui自动完成

时间:2013-11-19 17:26:14

标签: javascript jquery grails autocomplete

所以我尝试在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添加到控制器中以输出任何内容,而不是注册...我无法看到firebug中发生的任何事情。

2 个答案:

答案 0 :(得分:1)

我最终回到利用richui,一旦我解决了改变ID和名称的问题,我就开箱即用。

原始问题是here

答案 1 :(得分:0)

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

应该是这样的:

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

只需使用g:createLink就会将其呈现为字符串。控制器约定也要求使用camelCase意味着应该以小写字母开头。

link也可以帮助您实现目标: