DropDownList其實就是select,隻有下拉選擇。可以把現有的select或者input渲染成下拉菜單:
<input id="color" value="1" />
<select id="size">
<option>S - 6 3/4"</option>
<option>M - 7 1/4"</option>
<option>L - 7 1/8"</option>
<option>XL - 7 5/8"</option>
</select>
<script>
$(document).ready(function() {
var data = [
{ text: "Black", value: "1" },
{ text: "Orange", value: "2" },
{ text: "Grey", value: "3" }
];
$("#color").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
dataSource: data,
index: 0
});
$("#size").kendoDropDownList();
});
</script>
Configuration配置項
1、動畫 animation
類型:Object
說明:配置打開或者關閉下拉清單的特效。如果設值為false,打開或者關閉清單時将無動畫。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
animation: {
close: {
effects: "fadeOut zoom:out",
duration: 300
},
open: {
effects: "fadeIn zoom:in",
duration: 300
}
}
});
2、自動綁定資料 autoBind
類型:Boolean
預設:true
說明:初始化時是否自動綁定到資料源。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
autoBind: false
});
</script>
3、上級關聯 cascadeForm
類型:String
說明:指定本下拉框的上級關聯是誰。這在制作類似省市縣關聯菜單時非常必要。
<input id="parent" />
<input id="child" />
<script>
$("#parent").kendoDropDownList({
dataTextField: "parentName",
dataValueField: "parentId",
dataSource: [
{ parentName: "Parent1", parentId: 1 },
{ parentName: "Parent2", parentId: 2 }
]
});
$("#child").kendoDropDownList({
cascadeFrom: "parent",//關聯id=parent 的下拉框
dataTextField: "childName",
dataValueField: "childId",
dataSource: [
{ childName: "Child1", childId: 1, parentId: 1 },
{ childName: "Child2", childId: 2, parentId: 2 },
{ childName: "Child3", childId: 3, parentId: 1 },
{ childName: "Child4", childId: 4, parentId: 2 }
]
});
</script>
4、資料源 dataSource
類型:Object|Array|kendo.data.DataSource
說明:指定下拉清單的資料來源,可以是對象或者資料,或者是kendo的資料源。
<script>
//數組型資料源
$("#id").kendoDropDownList<span style="font-family: arial, helvetica, sans-serif, ����;">({</span>
dataSource: {
data: ["One", "Two"]
}
});
//kendo的資料源
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://demos.kendoui.com/service/products",
dataType: "jsonp"
}
}
});
$("#id").kendoDropDownList<span style="font-family: arial, helvetica, sans-serif, ����;">({</span>
dataSource: dataSource,
dataTextField: "ProductName",
dataValueField: "ProductID"
});
</script>
5、文本字段 dataTextField
類型:String
預設:""
說明:DropDownList下拉菜單的option需要text與value。必須指定。
6、值字段 dataValueField
類型:String
預設:""
說明:DropDownList下拉菜單t的option需要text與value。如果沒有指定自動擷取dataTextField。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
dataSource: [{
{ Name: "Parent1", Id: 1 },
{ Name: "Parent2", Id: 2 }
}]
dataTextField: "Name",
dataValueField: "Id"
});
</script>
7、延時顯示時間 delay
類型:Number
預設:200
說明:當使用者清除搜尋文本之後下拉清單消除的時間,機關為毫秒。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
delay: 500
});
</script>
8、是否可用 enable
類型:Boolean
預設:true
說明:設定下拉菜單是否可用。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
enable: false
});
</script>
9、過濾規則忽略大小寫 ignoreCase
類型:Boolean
預設:true
說明:過濾搜尋時是否忽略大小寫,設定為false将區分大小寫過濾搜尋。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
ignoreCase: false
});
</script>
10、下拉清單高度 height
類型:Number
預設:200
說明:定義下拉清單的高度,機關是像素(px)。
<input id="dropdownlist" />
<script>
$("#dropdownlist").kendoDropDownList({
height: 500
});
</script>
11、預設索引值 index
類型:Number
預設:0
說明:初始化時自動設值的索引值,數組是從0開始的。
<input id="dropdownlist" />
<script>
var items = [{ text: "Item 1", value: "1" }, { text: "Item 2", value: "2" }];
$("#dropdownlist").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
dataSource: items,
index: 1
});
</script>
12、optionLabel
類型:String | Object
預設:""
說明:下拉菜單預設選項,預設選項資料必須與資料源格式一緻。如果要求必須含有dataValueField 和 dataTextField,預設選項值就必須是Object。
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: ["Apples", "Oranges"],
- optionLabel: "Select a fruit..." //此情況可以是文本,表示值與文本一樣
- });
- </script>
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: [
- { productName: "Product 1", productId: 1 },
- { productName: "Product 2", productId: 2 }
- ],
- dataTextField: "productName",
- dataValueField: "productId",
- optionLabel: {
- productName: "Select a product...",
- productId: ""
- }//因資料源是對象,是以預設選項也必須是對象
- });
- </script>
13、忽略大小寫 ignoreCase
類型:Boolean
預設:true
說明:過濾時是否忽略大小寫,預設是忽略。
原碼 列印 關于
- <input id="<span style="font-family: arial, helvetica, sans-serif, ����;">dropdownlist</span><span style="font-family: arial, helvetica, sans-serif, ����;">" /></span>
- <script>
- $("#<span style="font-family: arial, helvetica, sans-serif, ����;">dropdownlist</span><span style="font-family: arial, helvetica, sans-serif, ����;">").</span><span style="font-family: arial, helvetica, sans-serif, ����;">kendoDropDownList</span><span style="font-family: arial, helvetica, sans-serif, ����;">({</span>
- ignoreCase: false
- });
- </script>
14、template
類型:String|Function
說明:自定義下拉清單模闆,比如生成帶相片的名單。
原碼 列印 關于
- <input id="dropdownlist" />
- <script id="template" type="text/x-kendo-template">
- <span>
- <img src="/img/#: id #.png" alt="#: name #" />
- #: name #
- </span>
- </script>
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: [
- { id: 1, name: "Apples" },
- { id: 2, name: "Oranges" }
- ],
- dataTextField: "name",
- dataValueField: "id",
- template: kendo.template($("#template").html())
- });
- </script>
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: [
- { id: 1, name: "Apples" },
- { id: 2, name: "Oranges" }
- ],
- dataTextField: "name",
- dataValueField: "id",
- template: '<span><img src="/img/#: id #.png" alt="#: name #" />#: name #</span>'
- });
- </script>
16、綁定原始值 valuePrimitive
類型:Boolean
預設:false
說明:當為true時輸入框擷取dataValueField對應的值,為false時擷取dataTextField對應的值。(感謝:Yuliyana Kirova)
原碼 列印 關于
- <input id="dropdownlist" data-bind="value: selectedProductId, source: products" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- valuePrimitive: true,
- dataTextField: "name",
- dataValueField: "id"
- });
- var viewModel = kendo.observable({
- selectedProductId: null,
- products: [
- { id: 1, name: "Coffee" },
- { id: 2, name: "Tea" },
- { id: 3, name: "Juice" }
- ]
- });
- kendo.bind($("#dropdownlist"), viewModel);
- </script>
18、預設文本 Text
類型:String
預設:""
說明:當自動綁定資料為false才可設定預設文本。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- autoBind: false,
- text: "Chai"
- });
- </script>
19、設定值 value
類型:String
預設:""
說明:設定預設值。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: ["Item1", "Item2"],
- value: "Item1"
- });
- </script>
Fields 其他屬性
1、資料源操作 dataSource
類型:kendo.data.DataSource
說明:通過它可操作資料項。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: [
- { name: "Apples" },
- { name: "Oranges" }
- ],
- dataTextField: "name",
- dataValueField: "name"
- });
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- dropdownlist.dataSource.add({ name: "Appricot" });
- dropdownlist.search("A");
- </script>
2、選項集 options
類型:Object
說明:擷取選項集對象。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList();
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- var options = dropdownlist.options;
- <script>
3、清單集 list
類型:JQuery
說明:擷取下拉清單jquery對象。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList();
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- var list = dropdownlist.list;
- <script>
4、清單 ul
類型:JQuery
說明:擷取下拉清單父架構ul的jquery對象。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList();
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- var ul = dropdownlist.ul;
- <script>
5、輸入框檔案對象 span
類型:JQuery
說明:顯示被選擇文本的jquery對象。
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList();
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- var span = dropdownlist.span;
- span.css("background-color", "red");
- <script>
Motheds 方法
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- dataSource: [
- { id: 1, name: "Apples" },
- { id: 2, name: "Oranges" }
- ],
- dataTextField: "name",
- dataValueField: "id",
- index: 1
- });
- var dataSource = new kendo.data.DataSource({
- data: [ "Bananas", "Cherries" ]
- });
- var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
- dropdownlist.search("A");//搜尋"A"将彈出下拉菜單Apples
- dropdownlist.close();//關閉下拉菜單
- dropdownlist.open();//打開下拉菜單
- dropdownlist.toggle();//自動切換打開還是關閉下拉菜單
- dropdownlist.readonly(true);//設為隻讀,将不能開下拉菜單
- var dataItem = dropdownlist.dataItem();//擷取已經選擇項的Item對象
- var dataItem = dropdownlist.dataItem(0);//擷取指定下标的Item對象
- dropdownlist.focus();//自動擷取焦點
- dropdownlist.setDataSource(dataSource);//設定資料源
- dropdownlist.refresh();//重新整理控件
- dropdownlist.select(dropdownlist.ul.children().eq(0));//選擇下拉菜單,支援幾種形式
- dropdownlist.select(1);
- dropdownlist.select(function(dataItem) {
- return dataItem.text === "Apples";
- });
- var selectedIndex = dropdownlist.select();//擷取已經選擇的下标
- dropdownlist.text("Apples");//設定下拉菜單文本,将自動選擇對應的Item
- dropdownlist.value("Oranges");//設定下拉菜單的值,如果不存在此值将設定不成功
- dropdownlist.destroy(); //銷毀下拉菜單
- </script>
Events 事件
原碼 列印 關于
- <input id="dropdownlist" />
- <script>
- $("#dropdownlist").kendoDropDownList({
- change: function(e) {
- var value = this.value();//打開下拉菜單時觸發
- },
- close: function(e) {
- // 關閉下拉菜單時觸發
- },
- open: function(e) {
- // 打開下拉菜單時觸發
- },
- dataBound: function(e) {
- // 綁定資料時觸發
- },
- select: function(e) {
- var item = e.item;
- var text = item.text();
- // 選擇下拉菜單時觸發
- },cascade: function() {
- // Handle the event
- }
- });
- </script>
例子
var JX_TYPE = $("#aint0");
JX_TYPE.kendoDropDownList({
dataTextField: "text",//json傳回的name
dataValueField: "value",
dataSource: data,
value: "@Model.aint0",
index:0,
change: onChange,
});
dept.kendoDropDownList({
cascadeFrom: "P_ORG_ID",//父id
cascadeFromField: "PARENT_ID",//子資料中的key名稱
dataTextField: "NAME",//json傳回的name
dataValueField: "ID",
value: "@Model.S_ORG_ID",
index: 0,
dataSource: obj_dict_dept
});
org_id.kendoDropDownList({
dataTextField: "NAME",//json傳回的name
dataValueField: "ID",
dataSource: obj_org_id,
change: function (e) {
so_change(this.value(), $("#TITLE").val());
}
});