如何从AUI自动完成列表中获取所选项目
How to get selected item from AUI autocomplete list
我想在数据库中向自动完成的aui输入字段显示地址。一切似乎都很好。但是我无法检索记录的地址号码。如何使用自动完成列表的on change事件,或者我如何访问所选项目的json对象
@Override
public void serveResource( ResourceRequest resourceRequest, ResourceResponse resourceResponse ) throws IOException,
PortletException
{
String cmd = ParamUtil.getString(resourceRequest, "get_address");
String myInputNode = ParamUtil.getString(resourceRequest, "addressAutocomplete");
System.out.println("addressAutocomplete"+myInputNode);
if (cmd.equals("get_address")) {
getUsers(resourceRequest, resourceResponse,myInputNode);
}
}
private void getUsers(ResourceRequest resourceRequest, ResourceResponse resourceResponse, String myInputNode) throws IOException, PortletException {
JSONArray usersJSONArray = JSONFactoryUtil.createJSONArray();
ThemeDisplay themeDisplay = (ThemeDisplay)resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
JSONObject userJSON=null;
try {
List<AddressMaster> userList=AddressMasterLocalServiceUtil.getAllAddressBySearchKey( myInputNode );
for(AddressMaster addressMaster:userList){
userJSON=JSONFactoryUtil.createJSONObject();
userJSON.put("addressNumber",addressMaster.getAdrNummer());
userJSON.put( "address", addressMaster.getAddress())
);
usersJSONArray.put(userJSON);
}
} catch (Exception e) {
}
PrintWriter out=resourceResponse.getWriter();
out.println(usersJSONArray.toString());
System.out.println("usersJSONArray"+usersJSONArray.toString());
}
Jsp文件
<portlet:resourceURL var="getAddress">
<portlet:param name="get_address" value="get_address" />
</portlet:resourceURL>
<aui:input id="addressAutocomplete" name="addressAutocomplete" label="group_choose_address" style="width:700px"/>
<aui:script>
AUI().use('autocomplete-list','aui-base','aui-io-request','autocomplete-filters','autocomplete-highlighters',function (A) {
A.io.request('<%=getAddress%>',{
dataType: 'json',
method: 'GET',
on: {
success: function() {
//continents=this.get('responseData');
//alert(continents[0].name);
new A.AutoCompleteList(
{
allowBrowserAutocomplete: 'true',
activateFirstItem: 'true',
inputNode: '#<portlet:namespace/>addressAutocomplete',
resultTextLocator: 'address',
resultHighlighter:['phraseMatch'],
resultFilters:['phraseMatch'],
render: 'true',
source:this.get('responseData'),
});
}}
});
});
</aui:script>
要想准确地了解即将发生的事情有点棘手,但我认为你可以这样做:
var address_ac = new A.AutoCompleteList({... as you have it...});
address_ac.on('select', function (e) {
var selected_node = e.itemNode,
selected_data = e.result;
});
此处的文档:http://alloyui.com/versions/1.5.x/api/classes/AutoCompleteList.html#events
相关文章:
- 使用JavaScript在IE9中获取数据列表选项
- 如何递归地获取嵌套对象中所有子对象的列表
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 如何在 Javascript/jQuery 中获取一些随机下拉列表的选定值
- 使用 jQuery 从下拉列表中获取所选文本
- 以编程方式获取无线接入点列表
- 如何在jquery中获取列表项的最顶端父项的文本
- 如何在JqWidgets网格中获取所有未选中行索引的列表
- 从javascript中的数组列表中获取值
- 如何从值的Angular下拉列表中获取ID
- 挖空剑道下拉列表获取所选项目的文本
- 如何从依赖下拉列表获取值到JavaScript并将其解析到另一个PHP页面
- 通过要按顺序获取的键列表获取嵌套键
- 从谷歌地图API列表获取最近的地方细节
- JQuery自动完成列表获取Json项目
- Jquery asp.net复选框列表获取项目值
- 基于选定的第一个下拉列表获取下拉列表的值
- jQuery可排序连接列表-获取列表id和数据值的排序值
- 样式下拉列表:获取兄弟元素的高度并求和
- 根据文本框中重新排列的无序列表获取值