xm-select 在from表单中如何提交数组类型数据
时间: 2024-05-08 16:21:30 浏览: 147
如果你想在 `from` 表单中提交 `xm-select` 组件的数组类型数据,可以通过以下方式实现:
1. 在 `from` 表单中添加一个 `input` 元素,用于接收 `xm-select` 组件的值。
2. 在 `xm-select` 组件中,设置 `lay-filter` 属性,用于监听选中的值。
3. 在 JavaScript 代码中,监听 `lay-filter` 属性,将选中的值写入 `input` 元素中。
4. 当 `from` 表单提交时,通过 `input` 元素的 `name` 属性,将数组类型数据提交到后端。
下面是一个示例代码:
HTML 代码:
```html
<form>
<div class="layui-form-item">
<label class="layui-form-label">选择</label>
<div class="layui-input-block">
<select xm-select="demo1" xm-select-search="" xm-select-skin="default" lay-filter="test">
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
</select>
<input type="hidden" name="select_data" value="">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-submit="" lay-filter="submit">提交</button>
</div>
</form>
```
JavaScript 代码:
```javascript
layui.use(['form', 'xmSelect'], function() {
var form = layui.form,
xmSelect = layui.xmSelect;
var demo1 = xmSelect.render({
el: '#demo1',
toolbar: {
show: true,
},
filterable: true,
data: [{
name: '选项1',
value: '1'
}, {
name: '选项2',
value: '2'
}, {
name: '选项3',
value: '3'
}],
});
form.on('select(test)', function(data) {
var value = JSON.stringify(demo1.getValue('value'));
$('input[name="select_data"]').val(value);
});
});
```
在这个示例中,我们在 `from` 表单中添加了一个 `input` 元素,它的 `name` 属性为 `select_data`,用于接收 `xm-select` 组件的值。
在 `xm-select` 组件中,我们设置了 `lay-filter` 属性为 `test`,用于监听选中的值。
在 JavaScript 代码中,我们监听了 `form.on('select(test)', function(data){})` 事件,当 `xm-select` 组件的值发生变化时,我们将选中的值写入 `input` 元素中。
当 `from` 表单提交时,我们通过 `input` 元素的 `name` 属性,将数组类型数据提交到后端。
阅读全文