easyui 将后台已有的值传回select输入框内 并在点击下拉框时显示选中(支持多选)

原理:用ajax获取选中的值,把选中的值放入指定select下即可。

第一步,确定传回前台的Json,代码如下:

获取下拉框选中的值:

	@RequestMapping("/test")
	@ResponseBody
	public String atest(HttpServletRequest request,
			HttpServletResponse response) {
		List<String> list = new ArrayList<String>();
		list.add("Java");
		list.add("Perl");
		return MyJSON.obj2JSON(list);
	}

获取下拉框所有值:

@RequestMapping("/testall")
	@ResponseBody
	public String atestall(HttpServletRequest request,
			HttpServletResponse response) {	   
		String[] stringss = {"Java","Perl","Ruby"};
		List<Map<String, String>> strings = new ArrayList<Map<String, String>>();	    
		for (int i = 0; i < stringss.length; i++) {
			Map<String, String> map = new HashMap<String, String>();
			map.put("label", stringss[i]);
		    map.put("value", stringss[i]);
		    strings.add(map);
		}			   
		return MyJSON.obj2JSON(strings);
	}

其中,MyJSON为obj转JSON工具类,详情见下方。

import java.text.SimpleDateFormat;


import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;


/**
 * @projectName:mysis_v2013.3
 * @className:MyJSON
 * @description:JSON类工具
 * @author:LeoLee
 * @date:2013-11-11 下午09:35:30
 * @version:
 */
public class MyJSON {
	
	/**
	 * @title: obj2JSON 
	 * @description: 将Object转换成JSON
	 * @param obj
	 * @throws Exception
	 * @return String
	 * @throws
	 */
	public static String obj2JSON( Object obj )  {
		try {
			ObjectMapper objectMapper = new ObjectMapper();
			
		    objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false); 
		    
		    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
		    
		    objectMapper.setDateFormat(formatter);
		    
			return objectMapper.writeValueAsString(obj);
		} catch (Exception e) {
			return "";
		}		
	}
}

第二步,前台页面写好对应select

<select id="ccas" class="easyui-combobox" name="dept1" style="width:200px;">                       
</select> 

第三步,写对应js

     获取下拉框选中的值:

$.post("/test",function(data,textStatus,jqxhr){	
		abc(data);		
	},"json");

     获取下拉框中所有值并显示的方法:

function abc(vvalue){
	$('#ccas').combobox({    
	    url:"selecttest/testall",
	    valueField:'label',    
	    textField:'value',
	    multiple:true,
	    panelHeight:'auto',
	    value:vvalue	    
	});  
}

效果图:


注:obj转json非原创

猜你喜欢

转载自blog.csdn.net/qq_37647296/article/details/80677701