我需要在具有自动完成功能的inputtext中输入文本;然后选择对象书。
我有jquery自动完成功能:http://jqueryui.com/autocomplete/#default
但是我不明白我怎么能把它传递给$ {estrategia.Book.list()}
这是我的选择,其中包含以下列表:
<g:select id="estudiante" name="estudiante.id"
from="${estrategia.Book.list()}" optionKey="id" required=""
value="${bookInstance?.id}" class="many-to-one" />
这是JQuery自动完成,而不是我需要放入书单的availableTags:
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
修改
所以我创建了taglib,没有命名空间,这就是我正在尝试的,你能指出我的错误在哪里吗?
<div class="ui-widget">
<label for="try">Tags: </label>
<input id="try">
<g:books id="try"/>
</div>
我的taglib:
def books = {attrs ->
out << "<script type='text/javascript'>"
out << "books = ["
Book.list().each {
out << "'${it.title}',"
}
out << "];"
out << "</script>"
}
非常感谢您提前
答案 0 :(得分:0)
我有类似的东西,我只是创建了一个taglib来实现它:
def books = {attrs ->
out << "<script type='text/javascript'>"
out << "books = ["
Book.list().each {
out << "'${it.name}',"
}
out << "];"
out << "</script>"
}
然后在GSP上你需要它的javascript:
<foo:jsNodeTypes/>
其中foo
是您为taglib提供的命名空间。
或者,您可以使用ajax并根据需要自动完成请求来自服务器的数据。