182 lines
7.0 KiB
JavaScript
Executable File
182 lines
7.0 KiB
JavaScript
Executable File
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>table下拉选择器</title>
|
||
<link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
|
||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||
</head>
|
||
<body>
|
||
<div class="layuimini-container">
|
||
<div class="layuimini-main">
|
||
|
||
<blockquote class="layui-elem-quote">
|
||
table下拉选择器使用开源项目:TableSelect<br>
|
||
在开源的基础上修改支持多条件搜索、宽以及高的自定义<br>
|
||
<a href="https://gitee.com/lolicode/layui_component_tableselect" target="_blank" class="layui-btn layui-btn-danger">TableSelect</a>
|
||
</blockquote>
|
||
|
||
<form class="layui-form" action="" style="padding:20px;">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">多选</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input" id="demo" value="刘晓军,张恒" ts-selected="002,003">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">本地演示数据,分页选中和其他页一样,这不是BUG</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">单选</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input" id="demo2">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">多搜索条件</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input" id="demo3">
|
||
</div>
|
||
</div>
|
||
|
||
</form>
|
||
|
||
<pre class="layui-code">
|
||
|
||
//开始使用
|
||
var tableSelect = layui.tableSelect;
|
||
tableSelect.render({
|
||
elem: '#demo', //定义输入框input对象 必填
|
||
checkedKey: 'id', //表格的唯一建值,非常重要,影响到选中状态 必填
|
||
searchKey: 'keyword', //搜索输入框的name值 默认keyword
|
||
searchPlaceholder: '关键词搜索', //搜索输入框的提示文字 默认关键词搜索
|
||
height:'400', //自定义高度
|
||
width:'900', //自定义宽度
|
||
table: { //定义表格参数,与LAYUI的TABLE模块一致,只是无需再定义表格elem
|
||
url:'',
|
||
cols: [[]]
|
||
},
|
||
done: function (elem, data) {
|
||
//选择完后的回调,包含2个返回值 elem:返回之前input对象;data:表格返回的选中的数据 []
|
||
//拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
|
||
}
|
||
})
|
||
|
||
//默认值
|
||
只需要在触发input上添加 ts-selected="1,2,3" 属性即可 值需与checkedKey对应
|
||
|
||
//多条件搜索
|
||
tableSelect.render({
|
||
elem: '#demo3',
|
||
checkedKey: 'id',
|
||
searchType: 'more', //开启多条件搜索
|
||
searchList: [
|
||
{searchKey: 'name', searchPlaceholder: '搜索用户姓名'}, //搜索条件1
|
||
{searchKey: 'sex', searchPlaceholder: '搜索用户性别'}, //搜索条件2
|
||
],
|
||
table: {
|
||
url: '../api/tableSelect.json',
|
||
cols: [[
|
||
{ type: 'radio' },
|
||
{ field: 'id', title: '编号' },
|
||
{ field: 'username', title: '姓名' },
|
||
{ field: 'sex', title: '性别' }
|
||
]]
|
||
},
|
||
done: function (elem, data) {
|
||
//选择完后的回调,包含2个返回值 elem:返回之前input对象;data:表格返回的选中的数据 []
|
||
//拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
|
||
}
|
||
})
|
||
</pre>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||
<script src="../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
|
||
<script>
|
||
layui.use(['table', 'form', 'tableSelect'], function () {
|
||
var $ = layui.jquery,
|
||
table = layui.table,
|
||
form = layui.form,
|
||
tableSelect = layui.tableSelect;
|
||
|
||
tableSelect.render({
|
||
elem: '#demo',
|
||
searchKey: 'my',
|
||
checkedKey: 'id',
|
||
searchPlaceholder: '自定义文字和name',
|
||
table: {
|
||
url: '../api/tableSelect.json',
|
||
cols: [[
|
||
{ type: 'checkbox' },
|
||
{ field: 'id', title: '编号', width: 100 },
|
||
{ field: 'username', title: '姓名', width: 300 },
|
||
{ field: 'sex', title: '性别', width: 100 }
|
||
]]
|
||
},
|
||
done: function (elem, data) {
|
||
var NEWJSON = []
|
||
layui.each(data.data, function (index, item) {
|
||
NEWJSON.push(item.username)
|
||
})
|
||
elem.val(NEWJSON.join(","))
|
||
}
|
||
})
|
||
|
||
|
||
tableSelect.render({
|
||
elem: '#demo2',
|
||
checkedKey: 'id',
|
||
table: {
|
||
url: '../api/tableSelect.json',
|
||
cols: [[
|
||
{ type: 'radio' },
|
||
{ field: 'id', title: '编号' },
|
||
{ field: 'username', title: '姓名' },
|
||
{ field: 'sex', title: '性别' }
|
||
]]
|
||
},
|
||
done: function (elem, data) {
|
||
var NEWJSON = []
|
||
layui.each(data.data, function (index, item) {
|
||
NEWJSON.push(item.username)
|
||
})
|
||
elem.val(NEWJSON.join(","))
|
||
}
|
||
})
|
||
|
||
|
||
tableSelect.render({
|
||
elem: '#demo3',
|
||
checkedKey: 'id',
|
||
height:'400',
|
||
width:'900',
|
||
searchType: 'more',
|
||
searchList: [
|
||
{searchKey: 'name', searchPlaceholder: '搜索用户姓名'},
|
||
{searchKey: 'sex', searchPlaceholder: '搜索用户性别'},
|
||
],
|
||
table: {
|
||
url: '../api/tableSelect.json',
|
||
cols: [[
|
||
{ type: 'radio' },
|
||
{ field: 'id', title: '编号' },
|
||
{ field: 'username', title: '姓名' },
|
||
{ field: 'sex', title: '性别' }
|
||
]]
|
||
},
|
||
done: function (elem, data) {
|
||
var NEWJSON = []
|
||
layui.each(data.data, function (index, item) {
|
||
NEWJSON.push(item.username)
|
||
})
|
||
elem.val(NEWJSON.join(","))
|
||
}
|
||
})
|
||
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |