您的位置:首页 > Web前端 > JQuery

JQuery Easy Ui 可装载组合框 - ComboBox

2013-01-21 15:46 453 查看

可装载组合框 - ComboBox

继承自$.fn.combo.defaults,通过$.fn.combobox.defaults覆盖默认值

combobox显示的是一个可以编辑的文本框和一个下拉列表.允许用户从里面选择一个或者是多个值,用户可以直接输入值到列表顶部,或者可以从列表选择一个或多个现有值.



Dependencies

combo

使用方法(Usage Example)

从<select>元素和一个预定义结构创建combobox.

<select id="cc" class="easyui-combobox" name="dept" style="width:200px;">

<option value="aa">aitem1</option>

<option>bitem2</option>

<option>bitem3</option>

<option>ditem4</option>

<option>eitem5</option>

</select>

<select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
<option value="aa">aitem1</option>
<option>bitem2</option>
<option>bitem3</option>
<option>ditem4</option>
<option>eitem5</option>
</select>

从<input>标记创建combobox.

<input id="cc" class="easyui-combobox" name="dept"

data-options="valueField:'id',textField:'text',url:'get_data.php'" />

<input id="cc" class="easyui-combobox" name="dept"
data-options="valueField:'id',textField:'text',url:'get_data.php'" />

使用javascript创建combobox

<input id="cc" name="dept" value="aa">

<input id="cc" name="dept" value="aa">

$('#cc').combobox({

url:'combobox_data.json',

valueField:'id',

textField:'text'

});

$('#cc').combobox({
url:'combobox_data.json',
valueField:'id',
textField:'text'
});

创建两个依赖的combobox

<input id="cc1" class="easyui-combobox" data-options="

valueField: 'id',

textField: 'text',

url: 'get_data1.php',

onSelect: function(rec){

var url = 'get_data2.php?id='+rec.id;

$('#cc2').combobox('reload', url);

}" />

<input id="cc2" class="easyui-combobox" data-options="valueField:'id',textField:'text'" />

<input id="cc1" class="easyui-combobox" data-options="
valueField: 'id',
textField: 'text',
url: 'get_data1.php',
onSelect: function(rec){
var url = 'get_data2.php?id='+rec.id;
$('#cc2').combobox('reload', url);
}" />
<input id="cc2" class="easyui-combobox" data-options="valueField:'id',textField:'text'" />

json数据转换示例:

[{

"id":1,

"text":"text1"

},{

"id":2,

"text":"text2"

},{

"id":3,

"text":"text3",

"selected":true

},{

"id":4,

"text":"text4"

},{

"id":5,

"text":"text5"

}]

[{
"id":1,
"text":"text1"
},{
"id":2,
"text":"text2"
},{
"id":3,
"text":"text3",
"selected":true
},{
"id":4,
"text":"text4"
},{
"id":5,
"text":"text5"
}]

Properties

这些属性继承至 combo,下面是combobox的一些新增属性.

NameTypeDescriptionDefault
valueFieldstring绑定到这个combobox的基础数据值名.value
textFieldstring绑定到这个combobox的数据字段名.text
modestring当文本改变时定义如何加载显示列表数据.如果设置为'remote' combobox从远程服务器加载数据.当设置为'remote'模式时,
用户输入的信息将发送作为http请求参数,参数名为'q'到服务器检索新的数据.
local
urlstring一个从远程服务器加载列表数据的URL.null
methodstring检索数据的http请求方法.post
dataarray需要加载到列表的数据.
示例代码:

<input class="easyui-combobox" data-options="
valueField: 'label',
textField: 'value',
data: [{
label: 'java',
value: 'Java'
},{
label: 'perl',
value: 'Perl'
},{
label: 'ruby',
value: 'Ruby'
}]" />

null
filterfunction定义如何过滤本地数据,当'mode'设置为'local'的时候. 这个函数提供两个参数:
q: 用户输入的文本.
row:
列表的行数据.
返回true 允许行显示 .
示例代码:

$('#cc').combobox({
filter: function(q, row){
var opts = $(this).combobox('options');
return row[opts.textField].indexOf(q) == 0;
}
});

formatterfunction定义如何呈现行. 这个函数提供一个参数 :row.
示例代码:

$('#cc').combobox({
formatter: function(row){
var opts = $(this).combobox('options');
return row[opts.textField];
}
});

loaderfunction(param,success,error)定义如何从远程服务器加载数据. 返回false终止这个动作.这个函数提供一下参数:
param:传递给远程服务器的参数对象.
success(data):
当检索数据成功这个回调函数将被调用.
error():当检索数据失败(异常,而不是返回空数据的时候)这个函数将被调用.
json loader

Events

事件继承至 combo, 以下是combobox的新增事件.

NameParametersDescription
onBeforeLoadparam一个请求在加载数据之前触发,返回false取消这个加载动作.
示例代码:

// 在从远程服务器加载数据之前改变请求参数
$('#cc').combobox({
onBeforeLoad: function(param){
param.id = 2;
param.language = 'js';
}
});

onLoadSuccessnone当远程数据加载成功之后触发.
onLoadErrornone远程数据加载出错触发.
onSelectrecord当用户选择一个列表项的时候触发.
onUnselectrecord当用户取消选择一个列表项的时候触发.

Methods

方法继承至 combo,以下是combobox的新增的或者是重写的方法.

NameParameterDescription
optionsnone返回 options 对象.
getDatanone返回加载数据.
loadDatadata返回本地列表数据.
reloadurl请求远程服务器列表数据.传入'url'参数重写原始的URL值.
示例代码:

$('#cc').combobox('reload');  //使用原始URL重新加载列表数据
$('#cc').combobox('reload','get_data.php');  //使用新的URL重新加载列表数据

setValuesvalues设置 combobox 值数组.
示例代码:

$('#cc').combobox('setValues', ['001','002']);

setValuevalue设置 combobox 值.
示例代码:

$('#cc').combobox('setValues', '001');

clearnone清除 combobox 值.
selectvalue选择特定的项.
unselectvalue取消特定的选择项.    
$('#Id').combogrid('grid').datagrid('selectRecord',value值); 用来设置默认选中

$('#goodsSelect').combogrid('grid').datagrid("clearSelections");清除选择


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: