JQuery EasyUI+Struts2自动匹配输入下拉框(combobox)

JQuery UI的combobox控件是一个即可根据输入自动显示匹配的选项,又可下拉显示所有选项的下拉框(支持中文):

web页面:

<%@ page language="java" contentType="text/html; charset=GB2312"
    pageEncoding="GB2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>easyui test</title>
<link rel="stylesheet" type="text/css" href="css/easyui.css">  
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>  
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>  
<script type="text/javascript">
function change(){
	var url = "ajaxValue.action";  
    $.post(url,function(result,testStatus){
    	if(testStatus = 'success'){  
            if(result!=''){  
            	alert(result);
            	var data = $.parseJSON(result);
            	$('#language').combobox('loadData',data);
            }
        }  
    });  
}
function test(){
	var a = $("#language").val();
	alert(a);
}
</script>  
</head>
<body>
	<input type="button" onclick="change();" value="点击加载数据"/>
	<input class="easyui-combobox" id="language" name="language"  
            data-options="valueField:'id',textField:'text'"/>  
            
    <input id="test" type="button" onclick="test();">
</body>
</html>

action:

package com.test.action;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class AjaxAction extends ActionSupport{
	private static final long serialVersionUID = 1L;
	private String result;
	
	public String execute() throws Exception{
		return SUCCESS;
	}
	
	public String getValue() throws Exception{
		String result = "[{\"id\":1,\"text\":\"12345\"},{\"id\":2,\"text\":\"中文\"}]";				         ServletActionContext.getResponse().setCharacterEncoding("gbk");
		ServletActionContext.getResponse().setContentType("gbk");
		ServletActionContext.getResponse().getWriter().print(result);
        return null;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}
}

最终结果:

 备注:

点击测试按钮发现弹框中的值是空的,combobox的值不能使用$("#language").val()这种方式获取,正确的获取方式为:

var a = $("#language").combobox('getValue');

获取到的为id:


提交的时候需要配合隐藏框:

<input class="easyui-combobox" id="combobox" value=""
            data-options="valueField:'id',textField:'text', 
            onSelect:function(){$('#search').val($('#combobox').combobox('getValue'));}"/>
<input id="search" name="search" value="" style="visibility: hidden;"/> 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值