发布时间:2018-01-26
本文是Kendo UI AutoComplete的再续篇,主要介绍模板、数据源字段、组件选项等API元素。
headerTemplate String|Function
指定一个静态的HTML内容,会生成弹出菜单的页头。
重要提示:
示例-指定headerTemplate
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
headerTemplate: '<div><h2>Fruits</h2></div>'
});
</script>
template String|Function
这个template字符串用于生成建议,默认情况下组件只会显示建议的文本(可通过dataTextFiled进行配置)。
示例-将模板指定为一个函数
<input id="autocomplete" />
<script id="template" type="text/x-kendo-template">
<span>
<img src="/img/#: id #.png" alt="#: name #" />
#: name #
</span>
</script>
<script>
$("#autocomplete").kendoAutoComplete({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
template: kendo.template($("#template").html())
});
</script>
示例-将模板指定为一个字符串
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
template: '<span><img src="/img/#: id #.png" alt="#: name #" />#: name #</span>'
});
</script>
valuePrimitive Boolean(default: false)
当初始化模块值为空时,为组件指定value binding操作。如果设置为true, View-Model字段会更新为选中的项目文本字段。如果设置为false,View-Model字段会更新为选中的项。
示例-指定View-Model字段会更新为选中的项目文本
<input id="autocomplete" data-bind="value: productName, source: products" />
<script>
$("#autocomplete").kendoAutoComplete({
valuePrimitive: true,
dataTextField: "name"
});
var viewModel = kendo.observable({
productName: null,
products: [
{ id: 1, name: "Coffee" },
{ id: 2, name: "Tea" },
{ id: 3, name: "Juice" }
]
});
kendo.bind($("#autocomplete"), viewModel);
</script>
dataSource kendo.data.DataSource
改变数据源会反应在组件上。
重要提示:
示例-添加数据项到数据源中
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
dataSource: [
{ name: "Apples" },
{ name: "Oranges" }
],
dataTextField: "name"
});
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
autocomplete.dataSource.read();
autocomplete.dataSource.add({ name: "Appricot" });
autocomplete.search("A");
</script>
options Object
这是一个对象,拥有组件所有的选项。
示例-获取组件的选项
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete();
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
var element = autocomplete.element;
var options = autocomplete.options;
</script>
list jQuery
下拉列表元素的jQuery对象
示例-获取列表元素
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete();
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
var list = autocomplete.list;
</script>
ul jQuery
ul元素的jQuery对象,拥有所有可用的选项。
示例-获取ul元素
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete();
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
var ul = autocomplete.ul;
</script>