几种常用的下拉列表的动态加载和选中写法
来源:互联网 发布:csgo 优化 编辑:程序博客网 时间:2024/06/08 08:01
前端开发中,常用的几种下拉框方式,包括:easyui中的combobox,combo,html中的select标签<select></select>,struts2标签:<s:select></s:select>。下面是我总结的这几种下拉框的动态加载和动态选中的写法,以防后面再遇到。
一、combobox,combobox:使用easyui插件远程请求数据方式
combobox,combobox:使用easyui插件远程请求数据方式
先定义input标签: <input id="xx" />
${"#xx"}.combobox({ valueField:'id', textField:'text', url:"请求数据的路径", queryParams:{"age" : 25, "order" : "desc"}//带额外的参数,当然也可以在url后面拼接参数 });
注意:请求的数据返回的数据未json格式,格式如下:
[{
"id":1,
"text":"text1"
},{
"id":2,
"text":"text2"
},{
"id":3,
"text":"text3",
"selected":true
},{
"id":4,
"text":"text4"
},{
"id":5,
"text":"text5"
}]
在后台分装的数据:
List list = new ArrayList()//存放查询的数据 JSONArray jsonArr = new JSONArray();JSONObject jsonObj;jsonObj = new JSONObject();jsonObj.put("id", "");jsonObj.put("text", "全部");jsonObj.put("selected", true);jsonArr.add(jsonObj);if(null!=list){for(int i=0;i<list.size();i++){jsonObj = new JSONObject();jsonObj.put("id", list.get(i).xx);//对应的idjsonObj.put("text", list.get(i).getOpNo());//对应的textjsonObj.put("selected", false);jsonArr.add(jsonObj);}}return jsonArr.toString();
动态选择选项,使用$("#xx").combobox('select','要选中的id');
此种方式样式相对于html或s标签中的样式美观一点,而且方便,combo与combobox相似,不再赘述。
二.使用html中的使用select标签 :
2.1 html标签结合js
<select id="xx"> <option value="0">选项1</option> </select>
然后使用javascript动态加载数据 document.getElementById("xx").options.add(new Option("mytest","1"));//添加 document.getElementById("xx").remove("1");//删除 这种适合适合添加的数据在js中获取方便的。
如果是通过action传到前台的数据是list,使用jquery不容易解析,因为jquery一般解析的是xml或json数据,所以
如果使用上述方法动态添加下拉选项的话,要在后台将数据转成json数据,
2.2 由于html没有循环功能,因此如果不在javascript中动态添加的话就无法实现, 但是可以我们可以借助JSTL(c标签) 标签中的<c:forEach></c:forEach>循环list
首先不要忘记引入jstl标签
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<select id="test" > <option value="1">选项一</option> <c:forEach items="${bopTmDataDictionaryList}" var="e"> <option value="${e.id}"><c:out value="${e.chName}"/></option> </c:forEach> </select>
特别注意(网上关于设置text为pxx的项选中的用法为:$("#test").find("option[text='pxxtext']").attr("selected",true),亲测不起作用,暂时不用)。 三、使用也可以使用struts2标签(s标签)
同样不能忘记下引入s标签
<%@taglib prefix="s" uri="/struts-tags"%> <s:select id="xx" name="xx" list="从后台传过来的list集合" headerKey="默认的第一个选项的id" headerValue="默认的第一个选项的text"listKey="chName" listValue="chName" value='' > </s:select>
四、无论使用html标签还是s标签,他们的动态选中js代码方式一样
动态选中js代码:
1、设置value为pxx的项选中(value相当于id)
$("#test").val("pxxid");
2、根据选项的text选中var options=$("#test").find("option");$.each(options,function(i,option){if($(option).attr("value")==你要选中的文本值){$(option).attr("selected",true);}});
最后注意,当你使用了上述方法不起作用时,请注意你使用的id值是否有重复存在的。以防无法定位标签。
1 0
- 几种常用的下拉列表的动态加载和选中写法
- asp.net MVC几种绑定下拉列表的写法
- 下拉列表的赋值,和默认选中
- 下拉列表select动态添加option和获取选中的option的值和value
- HTML5 根据 一级下拉列表的选中项动态改变2级下拉列表的选项
- Jquery 获取下拉列表 选中项的value和text
- javascript实现下拉列表和复选框的选中
- android中信息列表的下拉刷新和下拉加载
- html中的两个下拉列表动态的加载内容
- select 下拉列表获取选中的文本
- 设置下拉列表选中项的值
- 获取下拉列表选中项的值
- 获取下拉列表选中项的值
- angularjs实现下拉列表的选中事件
- ajax常用的几种写法
- 下拉框spinner:获取选中值的几种方法
- 下拉框spinner:获取选中值的几种方法
- 下拉框spinner:获取选中值的几种方法
- 通过解析xml获得json格式,动态解析json
- Java中有关null的9件事
- RGB转YUV
- python-闭包概念和append()和extend()的不同
- Charles解析https的坑
- 几种常用的下拉列表的动态加载和选中写法
- 数据结构(用C++语言描述)--第1章 绪论
- dubbo组成原理-service服务暴露
- remove-duplicates-from-sorted-list-ii
- html 如何播放背景音乐
- caffe数据层
- Linux:-bash: ***: command not found
- php不为空验证 对应jqueryvalidation验证 php表单验证
- flex布局主轴元素单独设置对齐方式