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代码 初始化数据的更多相关文章

  1. jquery实现动态添加html代码

    先看下思导图,整体了解下,然后我们再来学习. 现在我们来看一下几段代码,然后根据这几段代码我们来学习一下如何正确的学习动态添加html. 一.html()方法 html函数的作用原理首先是移除目标元素 ...

  2. js 动态添加input代码

    <script type="text/javascript" language="javascript"> function newNode(thi ...

  3. mui H5 js动态添加不同类型的数据

    html页面需要添加的页面的数据格式 <ul class="mui-table-view" id="OA_task_1"> <li class ...

  4. jquery 动态添加的代码不能触发绑定事件

    今天发现jQuery对动态添加的元素不触发事件,比如blur.click事件等 参考文章证明了我的结论,并给出了原因及解决方案 原因:程序找不到动态添加的节点. 解决方案:在绑定父元素后的子元素 $( ...

  5. [转]jquery append 动态添加的元素事件on 不起作用的解决方案

    用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...

  6. jQuery对 动态添加 的元素 绑定事件(on()的用法)

    从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代 ...

  7. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法

    博客分类: jquery-easyui jQueryAjax框架HTML  现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...

  8. jquery append 动态添加的元素事件on 不起作用的解决方案

    用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...

  9. jquery append 动态添加的元素绑定事件on

    用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...

随机推荐

  1. CSS便捷开发小工具汇总

    1.Prefix free 可以帮助开发者省去编写各种CSS3属性前缀的工作,只需要在页面中引入prefixfree.js即可. 2. Normalize 是一个CSS Reset工具, 相比传统的R ...

  2. WEBPAKC2.0开始

    1.创建一个webpack项目 mkdir webpack-demo &&cd webpack-demo npm init -y npm install --save-dev webp ...

  3. 学习Python 新去处:Python 官方中文文档

    Python 作为世界上最好用的语言,官方支持的文档一直没有中文.小伙伴们已经习惯了原汁原味的英文文档,但如果有官方中文文档,那么查阅或理解速度都会大大提升.本文将介绍隐藏在 Python 官网的中文 ...

  4. JQuery字符串的操作

    一.String对象属性 1.length属性: length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些 ...

  5. Spring中@Component的作用

    今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来. 1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中 ...

  6. SVG 学习<三>渐变

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  7. 凸优化&非凸优化问题

    转载知乎大神的回答:Robin Shen   参考:https://www.zhihu.com/question/20343349

  8. 制作签名jar放置到前端资源目录下

    给jar包打签名keytool -genkey -keystore myKeystore -alias jwstest查看签名信息jarsigner -keystore myKeystore data ...

  9. 《The book of shaders》读书笔记

    最近几天在GitHub上看到一个关于Shader开发的开源项目thebookofshaders,其中一个贡献者是Patricio Gonzalez Vivo,这个开源项目囊括了<The book ...

  10. snmp安装,及测试

    https://www.cnblogs.com/xdp-gacl/p/4016524.html