优秀的编程知识分享平台

网站首页 > 技术文章 正文

topjui easyui:combobox(下拉列表应用)

nanyue 2024-12-03 17:08:30 技术文章 7 ℃

继承combo(自定义下拉框),combo 的属性和方法都能应用在combobox上;

①模拟textbox(文本框)高频触发onChange事件:

文本框的输入无法实时触发onChange事件,利用combobox模拟文本框,可以实时触发onChange事件;通过hasDownArrow:false,隐藏向下箭头,data:[],panelHeight:0,让下拉框没有数据也没有下拉框;editable:true让下拉列表可以输入值;

示例:

<input data-toggle="topjui-combobox" data-options="prompt:'提示',width:150,data:[],hasDownArrow:false,editable:true,panelHeight:0,onChange:comboboChange">

②多选:开启多选:multiple:true;不支持多值提交:multivalue:false,默认开启多值提交,会以数组方式提交值,不开启是用逗号连接多个值提交;separator可以设定分隔号,默认逗号;

③搜索:editable:true,可以直接输入文本到字段中。这个可以作为搜索列表值使用,和mode:'remote',url 搭配可以向url地址发送请求,传递变量名为p的参数,从服务器搜索数据;如果只输入值却没有选择下拉列表中的数据,那么输入的值将直接当做提交值被提交。可以用于通过输入部分值检索出完整值选择下拉值,而没检索到直接提交创建新的值的应用场景

④ 多选+搜索:配置多选又配置搜索,会有问题,输入的值将会被一起提交而产生错误,删除输入值会把选中的值一起删除。而且选中的值也会触发onChange事件,会造成搜索条件错误。解决方法就是reversed:true;定义在失去焦点的时候是否恢复原始值。这个属性可以在搜索并选择值后清空搜索值,并只展示选中的值。你可以把输入框清空再次搜索和选择,只有在下拉列表中再次点击选中值才能取消选中,而不能通过删除输入框来取消选中。缺点是必须展示所有选项,不然就会展示value值而不是text值,取消选中也挺麻烦,需要重新搜索需要取消选中的值,点击才能取消选中。reversed是个很重要的属性,它可以限制用户只能选择,我在做项目的时候,用了大量的可搜索下拉框,用户经常只输入搜索内容后就直接提交了,造成存储错误。而后台限制过于麻烦,添加个reversed就解决很方便;

正在使用topjui开发公司内部项目,对esayui一些组件参数研究比较深入,有啥topjui的问题可以留言

最近发表
标签列表