table-select.html
4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<div class="layuimini-container layuimini-page-anim">
<div class="layuimini-main">
<blockquote class="layui-elem-quote">
table下拉选择器使用开源项目:TableSelect<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>
</form>
<pre class="layui-code">
//开始使用
var tableSelect = layui.tableSelect;
tableSelect.render({
elem: '#demo', //定义输入框input对象 必填
checkedKey: 'id', //表格的唯一建值,非常重要,影响到选中状态 必填
searchKey: 'keyword', //搜索输入框的name值 默认keyword
searchPlaceholder: '关键词搜索', //搜索输入框的提示文字 默认关键词搜索
table: { //定义表格参数,与LAYUI的TABLE模块一致,只是无需再定义表格elem
url:'',
cols: [[]]
},
done: function (elem, data) {
//选择完后的回调,包含2个返回值 elem:返回之前input对象;data:表格返回的选中的数据 []
//拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
}
})
//默认值
只需要在触发input上添加 ts-selected="1,2,3" 属性即可 值需与checkedKey对应
</pre>
</div>
</div>
<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: 'ID', 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: 'ID' },
{ 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>