我想从struts2-jquery-plugin中的Autocompleter
选项创建一个自动完成的组合框。有没有办法让键入字符串到POJO变量。到目前为止,我已经看到将SQL列表加载到JSON然后给出建议。我想在一个人打字并获取SQL查询并返回JSON对象时获取字符串。到目前为止,我已经完成了JSON部分,问题在于从<获取输入字符串。 sj:autocompleter>,有一种方法可以通过ajax得到这个,任何人都可以帮助我,这是我的代码
<s:url var="remoteurl" action="autoCompleterAction"/>
<sj:autocompleter
id="user"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
/>
struts.xml中
<action name="autoCompleterAction" class="com.doerit.action.AjaxAutoComplete" method="setCombo">
<result name="success" type="json">
<param name="root">newnames</param>
</result>
</action>`
编辑1: 好吧现在我写了一个ajax来获取JSON对象到我的java class.above任务我提到完成,现在Autocompleter没有触发struts事件来获取JSON数据。所以如何激活struts事件
到目前为止这是我的scrpit;
<s:url var="remoteurl" action="autoCompleterAction"/>
<script type='text/javascript'>
// document.getElementById ("user_widget").addEventListener ("keyup", getname, false);
function getname() {
var text1=document.getElementById("user_widget").value.trim();
console.log(text1);
$.ajax({
url: "userinput.html",
type: "Post",
data:JSON.stringify({"name":text1}),
contentType: "application/json",
dataType:"json",
success:function (resp) {
console.log(resp);
},
})
}
</script>
<sj:autocompleter
id="user"
name="user"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
onkeyup="getname()"
/>
答案 0 :(得分:1)
我删除了插件,并使用jquery自动完成功能和完整的ajax JSON响应。现在它的工作。如果有兴趣的话,你可以从这里找到代码Jquery Autocomplete