列表框 Listbox

Constructor

Implements: Widget

Tutorials: 控件对象使用快速入门

可设置的属性

NameTypeDefaultDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
validatesValidators校验器
valueString
readonlyBoolean只读
selectionsArray选项
urlString远程加载待选值的URL
JSON数据格式举例:示例如下
textFieldStringtext待选值中显示值的field
valueFieldStringvalue待选中真实值的field
sizeNumber列表默认显示多少条
multiSelectBoolean是否可以多选(按Ctrl)
realTextBoolean设置值时的text将被忽略,根据value从待选值取
hoverTipString悬停提示

JSON数据格式举例:

[
    {"text" : "男" , "value" : "1" },
    {"text" : "女" , "value" : "2" }
]

可读取的属性

NameTypeDefaultDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
validatesValidators校验器
valueString|Array
readonlyBoolean只读
selectionsArray选项
urlString远程加载待选值的URL
textFieldStringtext待选值中显示值的field
valueFieldStringvalue待选中真实值的field
sizeNumber列表默认显示多少条
multiSelectBoolean是否可以多选(按Ctrl)
realTextBoolean设置值时的text将被忽略,根据value从待选值取
hoverTipString悬停提示

方法

validate

Description: 执行校验

NameTypeDescription
调用参数
返回值Boolean校验是否成功

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
var result = widget.doMethod('validate');

intoView

Description: 把控件移动到页面可视范围

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.doMethod('intoView');

addValidator

Description: 增加校验器

调用参数

NameTypeDescription
validatorObject校验器对象

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
//通过api增加必填校验器
widget.doMethod('addValidator' , vjsp.Validators.get(
    'required',
    [],
    widgetLang.validate.required
));

removeValidator

Description: 删除校验器

调用参数

NameTypeDescription
nameString校验器名称

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
//删除必填校验
widget.doMethod('removeValidator' , 'required');

showValidateMsg

Description: 显示校验信息,多用于自定义校验器的开发

调用参数

NameTypeDescription
msgString提示信息

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
//提示不能为空
widget.doMethod('showValidateMsg' , '控件不能为空');

hideValidateMsg

Description: 隐藏校验信息,多用于自定义校验器的开发

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.doMethod('hideValidateMsg');

select

Description: 通过值来选择对应待选值,此方法效果理论上跟设置value一样

调用参数

NameTypeDescription
valString取消选择的值

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.doMethod('select'  , 'testVal');

clear

Description: 取消选择

调用举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.doMethod('clear');

事件

change

Description: 值改变 绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('change' , function(){
    //控制台输出新值
    console.info('new value' , this.get('value'));
});

click

Description: 单击

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('click' , function(e){
    vjsp.alert('click event');
});

dblclick

Description: 双击

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('dblclick' , function(e){
    vjsp.alert('dblclick event');
});

contextmenu

Description: 弹出上下文菜单

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('contextmenu' , function(e){
    vjsp.alert('contextmenu event');
});

mousedown

Description: 鼠标按下

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mousedown' , function(e){
    vjsp.alert('mousedown event');
});

mouseup

Description: 鼠标弹起

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mouseup' , function(e){
    vjsp.alert('mouseup event');
});

mousemove

Description: 鼠标移动

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mousemove' , function(e){
    vjsp.alert('mousemove event');
});

mouseover

Description: 鼠标移动控件上

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mouseover' , function(e){
    vjsp.alert('mouseover event');
});

mouseout

Description: 鼠标离开

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mouseout' , function(e){
    vjsp.alert('mouseout event');
});

mouseenter

Description: 鼠标移入

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mouseenter' , function(e){
    vjsp.alert('mouseenter event');
});

mouseleave

Description: 鼠标移出

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('mouseleave' , function(e){
    vjsp.alert('mouseleave event');
});

keypress

Description: 按键按下并弹起

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('keypress' , function(e){
    vjsp.alert('keypress event');
});

keydown

Description: 按键按下

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('keydown' , function(e){
    vjsp.alert('keydown event');
});

keyup

Description: 按键弹起

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('keyup' , function(e){
    vjsp.alert('keyup event');
});

blur

Description: 失去焦点

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('blur' , function(e){
    vjsp.alert('blur event');
});

focus

Description: 获得焦点

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('focus' , function(e){
    vjsp.alert('focus event');
});

input

Description: 正在输入

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('input' , function(e){
    vjsp.alert('input event');
});

hidden

Description: 隐藏事件(隐藏显示触发 回调参数为隐藏状态)

回调函数参数

NameTypeDescription
hiddenStateBoolean隐藏状态true为隐藏、false为取消隐藏

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('hidden' , function(hiddenState){
    if(hiddenState){
        vjsp.alert('控件被隐藏');
    }else{
        vjsp.alert('控件取消隐藏');
    }
});

readonly

Description: 只读事件 (只读状态改变触发 回调参数为只读状态)

回调函数参数

NameTypeDescription
readonlyStateBoolean只读状态 true为只读、false为取消只读

绑定举例:

var widget = vjsp.Parser.getWidgetByName('listbox');
widget.on('readonly' , function(readonlyState){
    if(readonlyState){
        vjsp.alert('控件只读');
    }else{
        vjsp.alert('控件取消只读');
    }
});