JQuery EasyUI combobox(下拉列表框)
下拉列表框
繼承 $.fn.combo.defaults. 重寫 $.fn.combobox.defaults.
組合框顯示一個可編輯的文字框和下拉列表,使用者選擇一個或多個值。使用者可以直接輸入文字到頂部的列表,或選擇一個或多個當前值列表。
依賴
應用例項
從<select>建立下拉列表框元素與一個預定義的結構。
[html] 預覽複製print?- <selectid="cc"class="<a title="EasyUI" href="http://wuzhuti.cn/tag/easyui/">EasyUI</a>-combobox" name
- <optionvalue="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>標記。
[html] 預覽複製print?- <inputid="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建立下拉列表框。
- <inputid="cc"name="dept"value="aa">
- $('#cc').combobox({
- url:'combobox_data.json',
- valueField:'id',
- textField:'text'
- });
<input id="cc" name="dept" value="aa">
$('#cc').combobox({
url:'combobox_data.json',
valueField:'id',
textField:'text'
});
建立兩個依賴的組合框。
[html] 預覽複製print?- <inputid="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);
- }" />
- <inputid="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" }]
屬性
屬性從Combo擴充套件,下面是新增屬性組合框。
名稱 | 型別 | 說明 | 預設 |
---|---|---|---|
valueField | string | 底層資料值名稱繫結到這個組合框,傳到後臺實際值。 | value |
textField | string | 底層資料欄位名稱繫結到這個組合框,前臺顯示值。 | text |
mode | string | 定義瞭如何載入列表資料當文字改變。設定為“remote“如果下拉列表框從伺服器載入。當設定為“remot“模式下,使用者型別將被髮送的http請求引數命名為“q”伺服器來檢索新資料。 | local |
url | string | 一個URL載入列表資料從遠端。 | null |
method | string | http方法檢索資料。 | post |
data | array | 資料列表載入。程式碼示例:
<input class="easyui-combobox" data-options="valueField: 'label',textField: 'value', data: [{label: 'java',value: 'Java'}, {label: 'perl',value: 'Perl'}, {label: 'ruby', value: 'Ruby'}]" /> |
null |
filter | function | 定義瞭如何過濾本地資料當“model”設定為“local”。這個函式接受兩個引數: q: 使用者輸入的文字。 row: 行資料的列表。 返回true允許這行被顯示。程式碼示例: $('#cc').combobox({ filter: function(q, row){ var opts = $(this).combobox('options'); return row[opts.textField].indexOf(q) == 0; } }); |
|
formatter | function | 定義如何渲染row。這個函式接受一個引數row.程式碼示例:
$('#cc').combobox({ formatter: function(row){ var opts = $(this).combobox('options'); return row[opts.textField]; } }); |
|
loader | function(param,success,error) | 定義瞭如何載入資料從遠端伺服器。可以放棄這次行動返回false。這個函式接受以下引數: param: 引數物件傳遞給遠端伺服器。 success(data): 這個回撥函式會呼叫這些當檢索資料成功。 error(): 這個回撥函式會呼叫這些當未能檢索資料。 |
json loader |
事件
事件從Combo擴充套件,下面是新增事件為下拉列表框。
名稱 | 引數 | 說明 |
---|---|---|
onBeforeLoad | param | 在載入資料前觸發事件,如果返回false則不會載入資料程式碼示例:
// 改變引數的http請求從伺服器載入資料之前 $('#cc').combobox({ onBeforeLoad: function(param){ param.id = 2; param.language = 'js'; } }); |
onLoadSuccess | none | 當遠端資料載入成功。 |
onLoadError | none | 當遠端資料載入錯誤。 |
onSelect | record | 當用戶選擇一個列表項。 |
onUnselect | record | 當用戶取消選擇列表項。 |
方法
從Combo的方法擴充套件,下面是新增或重寫的方法為下拉列表框。
名稱 | 引數 | 說明 |
---|---|---|
options | none | 返回選擇物件。 |
getData | none | 返回資料的載入。 |
loadData | data | 載入區域列表資料。 |
reload | url | 請求遠端列表資料。通過“url”引數覆蓋原始url值。程式碼示例:
$('#cc').combobox('reload'); // 重新載入列表資料使用舊的URL $('#cc').combobox('reload','get_data.php'); // 重新載入列表資料使用新的URL |
setValues | values | 設定組合框值陣列。程式碼示例:
$('#cc').combobox('setValues', ['001','002']); |
setValue | value | 設定下拉列表框的值。程式碼示例:
$('#cc').combobox('setValue', '001'); |
clear | none | 清除下拉列表框值。 |
select | value | 選擇指定的項。 |
unselect | value | 取消選擇指定的項。 |