拓展jquery js动态添加html代码 初始化数据
1 /**
* 新增数据筛选
*/
(function () {
$.filterEvent = function(options){
var _this = this;
var defaults = {
elId: "",
tableId:"",
data:{}
};
var options = $.extend(defaults, options);
var $container = $(options.elId); var html = `<div class="col-xs-12" style="position: relative;">
<div class="pull-right" style="width: 10%;padding-right: 1.2rem;position: absolute;right: 0;top: 0;margin: auto;">
<a id="deleted#key#" class="btn-link pull-right">
<i class="fa fa-times-circle"></i>
</a>
</div>
<div class="input-group m-b">
<span class="input-group-addon">分组标题</span>
<input class="form-control" id="filterName#key#">
</div>
<div class="input-group m-b">
<span class="input-group-addon">第一级字段</span>
<input class="form-control" id="firstFilterField#key#" placeholder="选择字段" readonly="readonly">
<span class="input-group-addon">
<a onclick="select_parent_field('firstFilterField#key#');">
<i class="fa fa-chain"></i>
选择
</a>
</span>
</div>
<div class="input-group m-b">
<span class="input-group-addon">第二级字段</span>
<input class="form-control" id="secondFilterField#key#" placeholder="选择字段" readonly="readonly">
<span class="input-group-addon">
<a onclick="select_parent_field('secondFilterField#key#');">
<i class="fa fa-chain"></i>
选择
</a>
</span>
</div>
<div class="input-group m-b">
<span class="input-group-addon">第三级字段</span>
<input class="form-control" id="thirdFilterField#key#" placeholder="选择字段" readonly="readonly">
<span class="input-group-addon">
<a onclick="select_parent_field('thirdFilterField#key#');">
<i class="fa fa-chain"></i>
选择
</a>
</span>
</div>
</div>`;
/**
* 添加节点
*/
this.newFilterEvent = function(rowJson){
var key = this.newGuid();
var isAdd = false;
if(rowJson == undefined || rowJson == null){
rowJson = {
'filterName' : '',
'firstFilterField' : '',
'secondFilterField' : '',
'thirdFilterField' : ''
};
isAdd = true;
}
options.data[key] = rowJson; var _this = this;
$html = $(html.replace(/#key#/g, key));
$container.append($html); //绑定事件
$html.find("#filterName"+key).change(function(){
var val = $(this).val();
rowJson.filterName = val;
options.data[key] = rowJson;
});
$html.find("#firstFilterField"+key).change(function(){
var val = $(this).val();
rowJson.firstFilterField = val;
options.data[key] = rowJson;
});
$html.find("#secondFilterField"+key).change(function(){
var val = $(this).val();
rowJson.secondFilterField = val;
options.data[key] = rowJson;
});
$html.find("#thirdFilterField"+key).change(function(){
var val = $(this).val();
rowJson.thirdFilterField = val;
options.data[key] = rowJson;
});
$html.find("#deleted"+key).click(function(){
delete options.data[key];
$(this).parent().parent().remove();
}); //初始化数据
if(rowJson.filterName != ''){
$html.find("#filterName"+key).val(rowJson.filterName);
}
if(rowJson.firstFilterField != ''){
$html.find("#firstFilterField"+key).val(rowJson.firstFilterField);
}
if(rowJson.secondFilterField != ''){
$html.find("#secondFilterField"+key).val(rowJson.secondFilterField);
}
if(rowJson.thirdFilterField != ''){
$html.find("#thirdFilterField"+key).val(rowJson.thirdFilterField);
}
}; this.getData = function(){
var eventData = [];
for ( var k in options.data) {
var row = options.data[k];
eventData.push(row);
}
return eventData;
}; this.initData = function(data){
if(data == undefined || data == null){
return;
}
for (var k in data) {
var row = data[k];
this.newFilterEvent(row);
}
}; this.newGuid = function () {
var guid = "";
for (var i = 1; i <= 32; i++) {
var n = Math.floor(Math.random() * 16.0).toString(16);
guid += n;
// if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) guid += "-";
}
return guid;
}; };
})(jQuery);



jquery动态的给div下增加Dom节点:
如图所示:
==》点击新增配置:
在elId下增加如图所示的div,初始化。右边的❌可以删除当前新增的div。
拓展jquery js动态添加html代码 初始化数据的更多相关文章
- jquery实现动态添加html代码
先看下思导图,整体了解下,然后我们再来学习. 现在我们来看一下几段代码,然后根据这几段代码我们来学习一下如何正确的学习动态添加html. 一.html()方法 html函数的作用原理首先是移除目标元素 ...
- js 动态添加input代码
<script type="text/javascript" language="javascript"> function newNode(thi ...
- mui H5 js动态添加不同类型的数据
html页面需要添加的页面的数据格式 <ul class="mui-table-view" id="OA_task_1"> <li class ...
- jquery 动态添加的代码不能触发绑定事件
今天发现jQuery对动态添加的元素不触发事件,比如blur.click事件等 参考文章证明了我的结论,并给出了原因及解决方案 原因:程序找不到动态添加的节点. 解决方案:在绑定父元素后的子元素 $( ...
- [转]jquery append 动态添加的元素事件on 不起作用的解决方案
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
- jQuery对 动态添加 的元素 绑定事件(on()的用法)
从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代 ...
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
博客分类: jquery-easyui jQueryAjax框架HTML 现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...
- jquery append 动态添加的元素事件on 不起作用的解决方案
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
- jquery append 动态添加的元素绑定事件on
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
随机推荐
- tf.nn.dynamic_rnn
tf.nn.dynamic_rnn(cell,inputs,sequence_length=None, initial_state=None,dtype=None, parallel_iteratio ...
- jquery遍历指定元素下的img图片改变其路径
$(".jieshao img").each(function (i) { $(this).attr("src", "manager/" + ...
- CF603EPastoral Oddities
/* LCT管子题(说的就是你 水管局长) 首先能得到一个结论, 那就是当且仅当所有联通块都是偶数时存在构造方案 LCT动态加边, 维护最小生成联通块, 用set维护可以删除的边, 假如现在删除后不影 ...
- 如何使用IntelliJ集成nodejs进行接口测试<response demo>
1.相关的配置及安装,在如下地址进行参考,这位大师写得也挺好(mac和windows都可以下载) https://www.jianshu.com/p/dd2d2d0ff133 2.在集成nodejs的 ...
- angularjs探秘<三> 控制器controller及angular项目结构
先来看一个例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...
- 操作笔记:tomcat在正式环境的常见问题和idea的远程调试
1,一台服务器有两个容器,比如:jetty,tomcat. 出现问题: jetty启动的时候,tomcat就不能启动了. 此时,需要修改tomcat的配置文件:servler.xml <?xml ...
- linux中使用pip命令遇到的一些问题
一 安装readline包之后python3.6导入模块异常退出 Type "help", "copyright", "credits" o ...
- Linux中设置vi编辑器的编码格式以及使用
vi ~/.vimrc set fileencodings=utf-8,gbk set termencoding=utf-8 set encoding=utf-8 vim的多行移动 一.连续的十几行到 ...
- [Android]Android布局优化之 merge
转载请标明:转载于http://www.cnblogs.com/Liuyt-61/p/6602915.html -------------------------------------------- ...
- 《The book of shaders》读书笔记
最近几天在GitHub上看到一个关于Shader开发的开源项目thebookofshaders,其中一个贡献者是Patricio Gonzalez Vivo,这个开源项目囊括了<The book ...