项目总结09:select标签下封装option标签
项目中经常用到Select标签,用封装好的方法获取option,可以避免冗赘的代码;
1.JSP--标签
<select class="width_md" name="queryProjectSupType" id="queryProjectSupType" title="项目类型-大类"></select>
2.JS1--实例化option
<script type="text/javascript">
$().ready(function(){
SELECT_LIST.getProjectSupType("queryProjectSupType", "${pd.queryProjectSupType}");
})
</script>
3.JS2--数据封装
var SELECT_LIST = {
getProjectSupType: function(targetId,selectValue){
var url = 'dictionary/list/condition';
var dicType = {};
dicType.url = url;//ajax的url
dicType.targetId = targetId;//即将实例化的select标签的id
dicType.keyValue = "dicName";//从数据库获取的Json数据,将key为"dicName"的value赋值给option的value属性
dicType.keyName = "dicName";//从数据库获取的Json数据,将key为"dicName"的value赋值给option的text属性
dicType.condition = {codeId:8};//这是从传给数据库的数据筛选条件,因需求而异
dicType.firstOption = "<option value=''>请选择分类</option>";//默认的第一个option标签的text属性
dicType.selectedValue = selectValue;//标签实例化后,value等于selectValue的option,将默认选中
ajaxGenerateSelect(dicType);//ajax获取数据,生成option数据
}
}
3.JS3--1.ajax获取数据,2.js生成option标签,并放入Select标签
function ajaxGenerateSelect(selectObject){
var url = selectObject.url;
var method = selectObject.method ? selectObject.method : "POST";
var keyValue = selectObject.keyValue ? selectObject.keyValue : "id";
var keyName = selectObject.keyName ? selectObject.keyName : "name";
var selectedValue = selectObject.selectedValue ? selectObject.selectedValue : null;
var targetId = selectObject.targetId;
var condition = selectObject.condition ? selectObject.condition : {};
var afterHandle = selectObject.afterHandle;
var formatter = selectObject.formatter;
var firstOption = selectObject.firstOption;
var ajaxObject = {};
ajaxObject.url = url;
ajaxObject.method = method;
ajaxObject.data = JSON.stringify(condition);
ajaxObject.success = function(result){
var data = result.data;
var html = "";
if(firstOption){
html = firstOption;
}
for(var i=0;i<data.length;i++){
var selected = "";
var dataItem = data[i];
if(selectedValue == dataItem[keyValue]){
selected = "selected";
}
var option = "<option value='#(value)' #(selected)>#(name)</option>";
var nameValue = dataItem[keyName];
if(formatter){
nameValue = formatter(dataItem);
}
option = option.replace("#(value)", dataItem[keyValue]).
replace("#(name)",nameValue).replace("#(selected)", selected);
html += option;
}
$("#" + targetId).html('').append(html);
if(afterHandle){
afterHandle();
}
};
ajaxMethod(ajaxObject);
}
项目总结09:select标签下封装option标签的更多相关文章
- qt 删除xml某个标签下所有子标签
代码如下: QDomNodeList listFlowChart= doc.elementsByTagName("device"); QDomElement flowChart = ...
- jquery 条件搜索某个标签下的子标签
$("li[name='"+name+"']").find("a[value='" + value + "']").pa ...
- jquery怎么获取当前标签下的子标签
1.var num1=$("ul > a:eq(0)").attr("ID");2.var num2=$("ul").children ...
- select下拉框的探索(<option></option>标签中能嵌套使用其它标签吗)
select标签大家应该经常用到,有个问题可能没怎么注意过, select标签里面的option标签可以嵌套其它标签吗,比如i,span标签等? 经本人测试,答案是:可以嵌套其它标签,但审查元素会 ...
- html select与option标签
1.select 元素 select 元素可创建单选或多选菜单.<select> 元素中的 <option> 标签用于定义列表中的可用选项 常用属性如下: autofocus: ...
- 来吧,HTML5之基础标签(下)
<dialog> 标签 定义对话框或窗口. <dialog> 标签是 HTML 5 的新标签.目前只有 Chrome 和 Safari 6 支持 <dialog> ...
- HTML常用标签(下)
HTML常用标签(下) 1. 表格标签 1.1 语法 <table> <!--table定义表格--> <tr> <!--tr定义表格中的行--> &l ...
- IE6 P标签下DIV无法inline-block
IE6 P标签下的DIV标签无法inline-block,使其触发了hasLayout属性再用csshack 使其inline还是不行,始终要换行 解决:把div标签替换成非div标签,比如span等 ...
- 帝国cms灵动标签下常用标签
这里简单整理下灵动标签下的常用标签 标题名称:<?=$bqr['title']?> <?=esub($bqr[title],22)?> 限制字符22个 标题链接:<?= ...
随机推荐
- UI5-学习篇-3-Local SAP WEB IDE下载
1.下载地址 https://tools.hana.ondemand.com/#sapui5 有两个版本,针对各自系统环境选择对应的个人版本下载后解压. 个人版:个人试用 生产版:在云平台SCP付费订 ...
- kafka config
Config parameters that influence the log retention time. log.roll.hours # how long to produce a new ...
- JSP基本_JSPの構成要素、アクション、ディレクティブ
1.JSPの構成要素[コア要素] JSP文法のコアとなる要素で.サーブレットソースに変換される. ・宣言: <%! - %> (宣言で指定した変数は.Javaの「フィールド変数」になる.ス ...
- docker之数据卷管理
转自:https://www.cnblogs.com/jsonhc/p/7777811.html docker之数据卷的备份和还原 1.现在利用镜像创建一个nginx的服务容器,并挂载一个数据卷 [r ...
- vue项目bug-Couldn’t find preset "es2015"
在使用vue项目的时候安装了其他的插件,发现会报错 Couldn’t find preset "es2015".是因引用的插件使用了es标准,解决办法如下 npm install ...
- springboot 异步执行程序
一步:在启动项里面加入注解 (类似定时) //开启异步调用方法@EnableAsync 二步:在包中的AsyncTask .java 类中 写三个方法 三步:是在DoTask.java 中调用的 ...
- springmvc文件上传功能
步骤: 1.在mvc配置文件中添加 2.在控制层的写法: 先在项目目录中添加一个文件夹 再在控制层写上传文件的代码(ps:图片保存在项目中的,并不是保存在文件服务器中) 上传文件的jsp 展示图片的j ...
- python基础学习Day17 面向对象的三大特性之继承、类与对象名称空间小试
一.课前回顾 类:具有相同属性和方法的一类事物 实例化:类名() 过程: 开辟了一块内存空间 执行init方法 封装属性 自动的把self返回给实例化对象的地方 对象:实例 一个实实在在存在的实体 组 ...
- 大型运输行业实战_day12_1_权限管理实现
1.业务分析 权限说的是不同的用户对同一个系统有不同访问权限,其设计的本质是:给先给用户分配好URL,然后在访问的时候判断该用户是否有当前访问的URL. 2.实现 2.1数据库设计标准5表权限结构 2 ...
- Dubbo后台管理和监控中心部署
通过dubbo监控中心和后台管理可以很好的监控dubbo服务,监控服务端服务和客户端调用情况,调用次数,调用日志,方便问题查找.下面我们看看dubbo的管理后台和监控中心怎么部署. 1.软件下载 部署 ...