easyui-combobox用法
2017-11-27 17:31
288 查看
以省份下拉框为例,两种写法,第一种设置默认值有问题,推荐第二种。
1)第一种方法
HTML代码:
<th>省份</th>
<td>
<select class="easyui-combobox" id="provinceList" name="provinceList" style="width:200px;" >
</select>
</td>js代码:
//后台查询省份数据,以键值对列表的json形式返回
//查询条件,多选
//打开页面时在$(function(){}方法中调用findProvinceList()方法初始化省份列表
function findProvinceList()
{
$('#provinceList').empty();
$('#provinceList').combobox({
type: "POST",
url: "${ctx}/jsp/province/findprovinceList.action",
valueField:'provinceId',
textField:'provinceNm',
multiple:true, //设置为多选框
onLoadSuccess: function () {
var val = $(this).combobox("getData");//获取加载的数据
//循环列表第一行的键值对
for (var item in val[0]){
if (item == "provinceId"){
//设置默认值为列表第一个
$(this).combobox("select", val[0][item]);
}
}
}
});
}java代码:
/**
* 初始化省份下拉列表
*/
@RequestMapping("/findProvinceList")
public void findProvinceList(Map<String, Object> paraMap){
//查询后台数据
List<Object[]> rdataList=provinceService.findProvinceList(paraMap);
JSONObject json = new JSONObject();
JSONArray array = new JSONArray();
//默认值
json.put("cityId", "");
json.put("cityNm", "全国");
array.add(json);
for (Object[] objects:rdataList)
{
json.put("provinceId", objects[0]);
json.put("provinceNm", objects[1]);
array.add(json);
}
try
{
//System.out.println(array);
//System.out.println(JSON.toJSONString(array));
//返回json数据到前台
response.getWriter().write(array.toString());
}
catch (IOException e)
{
e.printStackTrace();
}
}2)第二种方法
html代码:
<th width="5%">省份</th>
<td width="15%" align="left">
<select class="easyui-combobox" id=cityIdSelect name="cityIdSelect" data-options="multiple:true,multiline:true" style="width:200px;">
<c:forEach items="${cityList}" var="citys" varStatus="status">
<option value="${citys.cityId}">${citys.cityNm}</option>
</c:forEach>
</select>
</td>js代码:
//直接获取选择的省份id作为查询条件查询业务数据
1)第一种方法
HTML代码:
<th>省份</th>
<td>
<select class="easyui-combobox" id="provinceList" name="provinceList" style="width:200px;" >
</select>
</td>js代码:
//后台查询省份数据,以键值对列表的json形式返回
//查询条件,多选
//打开页面时在$(function(){}方法中调用findProvinceList()方法初始化省份列表
function findProvinceList()
{
$('#provinceList').empty();
$('#provinceList').combobox({
type: "POST",
url: "${ctx}/jsp/province/findprovinceList.action",
valueField:'provinceId',
textField:'provinceNm',
multiple:true, //设置为多选框
onLoadSuccess: function () {
var val = $(this).combobox("getData");//获取加载的数据
//循环列表第一行的键值对
for (var item in val[0]){
if (item == "provinceId"){
//设置默认值为列表第一个
$(this).combobox("select", val[0][item]);
}
}
}
});
}java代码:
/**
* 初始化省份下拉列表
*/
@RequestMapping("/findProvinceList")
public void findProvinceList(Map<String, Object> paraMap){
//查询后台数据
List<Object[]> rdataList=provinceService.findProvinceList(paraMap);
JSONObject json = new JSONObject();
JSONArray array = new JSONArray();
//默认值
json.put("cityId", "");
json.put("cityNm", "全国");
array.add(json);
for (Object[] objects:rdataList)
{
json.put("provinceId", objects[0]);
json.put("provinceNm", objects[1]);
array.add(json);
}
try
{
//System.out.println(array);
//System.out.println(JSON.toJSONString(array));
//返回json数据到前台
response.getWriter().write(array.toString());
}
catch (IOException e)
{
e.printStackTrace();
}
}2)第二种方法
html代码:
<th width="5%">省份</th>
<td width="15%" align="left">
<select class="easyui-combobox" id=cityIdSelect name="cityIdSelect" data-options="multiple:true,multiline:true" style="width:200px;">
<c:forEach items="${cityList}" var="citys" varStatus="status">
<option value="${citys.cityId}">${citys.cityNm}</option>
</c:forEach>
</select>
</td>js代码:
//直接获取选择的省份id作为查询条件查询业务数据
var provinceIds = $("#provinceList").combobox('getValues')+"";java代码:
/** * 打开查询功能页面,在页面打开之前先查询后台省份数据通过ModelMap直接带到前台 * @return */ @RequestMapping("/initQueryList") public String initQueryList(ModelMap modelMap) { //打开页面之前查询省份,初始化省份列表 Map<String, Object> paraMap = new HashMap<String, Object>(); 4000 List<Object[]> rdataList=provinceService.findProvinceList(paraMap); //存储省份键值对列表的容器 List<Map<String, Object>> provinceList = new ArrayList<Map<String, Object>>(); //存储省份键值对的临时容器 Map<String, Object> map = new HashMap<String, Object>(); map.put("cityId", ""); map.put("cityNm", "全省"); cityList.add(map); for (Object[] objects:rdataList) { map = new HashMap<String, Object>(); map.put("cityId", objects[0]); map.put("cityNm", objects[1]); cityList.add(map); } //放入ModelMap中,前台获取 modelMap.put("provinceList", provinceList); return "/page/queryData/province_List"; }
相关文章推荐
- EasyUI-Combobox 用法
- EasyUI的combobox用法
- easyui控件之combobox用法。
- easyUI easyui-combobox 和 easyui-combogrid 用法
- easyui-layout和easyui-combobox和jQuery表格控件flexigrid用法总结
- easyui combobox简单用法
- easyui combobox用法以及click事件
- easyui-combobox的用法
- Easyui主要组件用法
- easyUI的combobox实现级联
- easyUI combobox下拉框很长,easyUI combobox下拉框如何显示滚动条的解决方法
- C#中comboBox控件的一些基本用法小结
- 解决easyui combobox 下拉高度大于实际值
- easyUI ComboBox
- Easyui loadData 用法及使用场景
- Easyui笔记4:实现表格内combobox数据的动态切换(getEditor的使用)
- Easyui combobox 下拉框
- vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)
- easyui的combobox下拉框初始化默认值以及保持该值一直显示的方法
- easyui-combobox 下拉列表的JSON获取数据例子