使用ligerui ComboBox 时发现一个现象。两个下拉列表,第一个普通下拉列表A(食品、水果),第二个ligerComboBox下拉列表B,B列表根据A列表选的值进行联动。
如果第一次进入页面,第一次选择A列表第一项,而B列表联动无值时ligerComboBox显示正常。
A选食品
data=[];
如果选择A列表的项,B列表都联动有值ligerComboBox显示也正常,但是当B列表是从有值转向无值时,B列表无法清除上次的值显示空列表。
A选水果
B联动出data
var data=[{id:1,name:"桔子"},{id:2,name:"苹果"},{id:1,name:"梨子"}];
var fruitManager = $("#fruit").ligerComboBox({
data:data,
isMultiSelect: true,
selectBoxWidth : 150,
width : 150,
selectBoxHeight : 155,
isShowCheckBox: true,
initText : '请选择',
valueFieldID : 'fruitList',
valueField : 'id',
textField: 'name'
});
A选食品
data=[];
B还是显示的桔子、苹果、梨子
消除这种现象要如此做:
if(""==data){//对data的判断请根据自己的实际情况来定,有判断长度等于0的,有判断等于""的,有判断等于null的
//判断liger管理器记录的ID是否存在
if(undefined != window.liger.managers[“fruit”]){//没数据时清理控件
$("#fruit").ligerGetComboBoxManager().clearContent();
}
}
勾选了下拉列表,在数据没有改变的情况下面要取消勾选的多个想,要如此做:
$("#fruit").ligerGetComboBoxManager().updateStyle();
或
fruitManager.updateStyle();