打造 Bootstrap Tags Input 同 Modal 结合的利器
来源:互联网 发布:马原人工智能与意识 编辑:程序博客网 时间:2024/06/06 00:40
Boostrap Tags input 的使用:http://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/
Boostrap Tags Input 插件基于Bootstrap实现了如:打Tag 和 删除Tag等功能,如:
点击右侧的 x 号可以进行删除。可以通过 tagsinput('items') 方法获取定义的tag的内容。如:
console.log($('#input').val());console.log($('#input').tagsinput('items'));
点击“显示信息”可以查看一个 tag 保存的信息:
再次点击 tag 进行编辑:
具体实现如下:(主要需要先引入 bootstrap 框架 和 boostrap tags input 插件)
index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Tags Input</title> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="bootstrap-tagsinput/bootstrap-tagsinput.css"> <style> .bootstrap-tagsinput { display: block; } .bootstrap-tagsinput .tag { display: inline-block; margin: 0.4em 0; font-size: 1.1em; } </style></head><body> <div class="container" style="margin: 50px auto;"> <p><input type="text" id="input"/></p> <p><button class="btn btn-default" id="showInfo">显示信息</button></p> <div id="info" style="margin: 10px 0;"></div> </div> <div id="modal-add" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Modal title</h4> </div> <div class="modal-body"> <form class="form-horizontal"> <div class="form-group"> <label for="tname" class="col-sm-2 control-label">名称</label> <div class="col-sm-10"> <input type="text" class="form-control" id="tname" placeholder="请输入名称"> </div> </div> <div class="form-group"> <label for="tcontent" class="col-sm-2 control-label">内容</label> <div class="col-sm-10"> <textarea id="tcontent" rows="5" class="form-control" placeholder="请输入内容"></textarea> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary" id="btn-add">确定</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <div id="modal-change" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Modal title</h4> </div> <div class="modal-body"> <form class="form-horizontal"> <div class="form-group"> <label for="tname" class="col-sm-2 control-label">名称</label> <div class="col-sm-10"> <input type="text" class="form-control" id="tname" placeholder="请输入名称"> </div> </div> <div class="form-group"> <label for="tcontent" class="col-sm-2 control-label">内容</label> <div class="col-sm-10"> <textarea id="tcontent" rows="5" class="form-control" placeholder="请输入内容"></textarea> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary" id="btn-change">确定</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <script src="jquery.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="bootstrap-tagsinput/bootstrap-tagsinput.js"></script> <script> $(function() { var tagsinput = $('#input').tagsinput({ trimValue: true, itemValue: function(item) { return item.title; }, tagClass: function(item) { var type = 'label-default'; switch (parseInt(Math.random() * 6)) { case 0: type = 'label-default'; break; case 1: type = 'label-primary'; break; case 2: type = 'label-success'; break; case 3: type = 'label-info'; break; case 4: type = 'label-warning'; break; case 5: type = 'label-danger'; break; } return 'label ' + type; } })[0]; var input = tagsinput.$element; var tagsArray = tagsinput.itemsArray; var tagsContainer = tagsinput.$container; // tag 的容器 var modalAdd = $('#modal-add'); //添加 tag 时,显示的模态框 var modalChange = $('#modal-change'); //修改 tag 时,显示的模态框 // 点击tagsinput输入框,显示模态框 tagsContainer.on('click', function() { $(this).find('input').blur(); // 清除原来的内容,打开用于 增加tag的模态框 modalAdd.find('input').val(''); modalAdd.find('textarea').val(''); modalAdd.modal('show'); }); // 添加tag的模态框的确认按钮 $('#btn-add').on('click', function() { var minput = modalAdd.find('input').val(); var mtextarea = modalAdd.find('textarea').val(); if(minput == '' || mtextarea =='') { return false; } input.tagsinput('add', {'title' : minput, 'text' : mtextarea}); modalAdd.modal('hide'); // 当前新创建的标签 var cur = $(tagsContainer.children('span.tag:last')); cur.on('click', function(e) { e.stopPropagation(); tagsContainer.find('input').blur(); // 显示模态框 var item = $(this).data('item'); var title = item.title; var text = item.text; modalChange.data('tag', $(this)); modalChange.find('input').val(title); modalChange.find('textarea').val(text); modalChange.modal('show'); }); // 当前新建的标签的删除事件 cur.children('span[data-role=remove]').on('click', function(e) { e.stopPropagation(); if (tagsinput.$element.attr('disabled')) { return; } tagsinput.remove($(e.target).closest('.tag').data('item')); }); }); $('#btn-change').on('click', function() { var title = modalChange.find('input').val(); var text = modalChange.find('textarea').val(); // 当前正在编辑的 tag var tag = modalChange.data('tag'); var beforeTitle = tag.data('item').title; tag.data('item', {title: title, text: text}); // 修改 tagsArray 中保存的内容 for(var i = 0; i < tagsArray.length; i++) { if(tagsArray[i].title == beforeTitle) { tagsArray[i].title = title; tagsArray[i].text = text; } } input.tagsinput('pushVal'); input.tagsinput('refresh'); //“刷新界面” modalChange.modal('hide'); }); $('#showInfo').on('click', function() { $('#info').html('<pre>' + $('#input').val() + '<br/>' + $('#input').tagsinput('items') + '</pre>'); console.log($('#input').val()); console.log($('#input').tagsinput('items')); }); }); </script></body></html>
0 0
- 打造 Bootstrap Tags Input 同 Modal 结合的利器
- 打造 Bootstrap Tags Input 同 Modal 结合的利器(改)
- bootstrap-modal:弹出modal时input的checked的状态无法改变 | | input获取焦点不生效
- 关于bootstrap的modal
- bootstrap modal 添加input Firefox报错
- Bootstrap的Modal源码学习
- Bootstrap modal
- Bootstrap-Modal
- BootStrap Modal
- bootstrap modal
- modal (Bootstrap)
- bootstrap的模态框modal的hidden.bs.modal属性
- BootStrap的modal模态框的使用
- Bootstrap的一些笔记——modal
- 基于Bootstrap的Modal二次封装
- Bootstrap的js插件之模态框(modal)
- 在BootStrap的modal中使用Select2
- bootstrap中modal的简单使用
- 关于Activity的生命周期
- Restrictions运算符
- Android IntentService完全解析 当Service遇到Handler
- ubuntu14.04安装opencv2.4.9
- 网站如何突破瓶颈
- 打造 Bootstrap Tags Input 同 Modal 结合的利器
- C语言基础 定义int与long型变量并附初值
- Http请求模拟报文返回工具HttpSimulation分享
- 2016年学习心得
- Spark源码学习(10)——Spark Streaming
- 深入探讨 Java 类加载器
- 堆排序
- 数组中的逆序对
- 盲打首秀