easyui combobox远程加载模式下,下拉框实现多选框后,传入后台值为什么只有一个
时间: 2024-03-26 10:41:21 浏览: 138
由后台的值来决定前台的复选框是否为默认选中,简单用户权限管理,html:multibox
easyui combobox组件在远程加载模式下实现多选框的方式与本地数据源的方式略有不同。
在远程加载模式下,需要在combobox组件的`queryParams`属性中设置一个名为`ids`(或者其他你自己喜欢的名字)的参数,用于传递所有选中的值。例如:
```javascript
$('#combobox').combobox({
url: 'your-api-url',
method: 'POST',
valueField: 'id', // 对应返回数据中的id字段
textField: 'name', // 对应返回数据中的name字段
multiple: true, // 设置为多选
queryParams: function (params) {
params.ids = $('#combobox').combobox('getValues').join(',');
return params;
},
// 其他配置项...
});
```
在`queryParams`函数中,获取所有选中的值,并将它们用逗号连接成一个字符串,作为`ids`参数的值。在后台接收到请求后,通过`$_POST['ids']`即可获取到所有选中的值。
需要注意的是,如果你的API接收到的`ids`参数的类型是数组,而不是字符串,那么你需要在JS代码中将`ids`参数作为一个数组传递给后台,而不是一个字符串。这样,后台就可以正确地接收到所有选中的值了。
阅读全文