发布时间:2018-01-24
本文是Kendo UI AutoComplete的续篇,主要介绍数据源、搜索、占位符等API元素。
dataSource Object|Array|kendo.data.DataSource
如果 dataSource选项设置为JavaScript对象或数组,组件会初始化一个新的kendo.data.DataSource。如果dataSource选项是当前存在的kendo.data.DataSource,组件会继续沿用这个数据源,而不会重新初始化。
示例:将数据源设置为JavaScript对象
<input id="autocomplete" />
<script>
$("#autoComplete").kendoAutoComplete({
dataSource: {
data: ["One", "Two"]
}
});
</script>
示例:将数据源设置为JavaScript数组
<input id="autocomplete" />
<script>
var data = ["One", "Two"];
$("#autoComplete").kendoAutoComplete({
dataSource: data
});
</script>
示例:当前存在的数据源
<input id="autocomplete" />
<script>
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/products",
dataType: "jsonp"
}
}
});
$("#autocomplete").kendoAutoComplete({
dataSource: dataSource,
dataTextField: "ProductName"
});
</script>
dataTextField String(default: null)
这个字段会用在搜索建议时。
示例:设置dataTextField
<input id="autocomplete" />
<script>
var data = [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
];
$("#autocomplete").kendoAutoComplete({
dataTextField: "name", // The widget is bound to the "name" field
dataSource: data
});
</script>
delay Number(default: 200)
当发生键盘1敲击事件时组件会弹出建议窗口
示例:设置显示
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
delay: 500
});
</script>
enable Boolean(default: true)
如果设置为false,组件会被禁用,用户将无法输入。但默认情况下这个组件是true。
示例:禁用组件
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
enable: false
});
</script>
filter String(default: "startswith")
这个筛选方法用于决定当前值的建议,默认值是"startswith",另外还有endswith 和 contains.
示例:设置过滤器
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
filter: "contains"
});
</script>
height Number(default: 200)
示例:设置高度
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
height: 500
});
</script>
highlightFirst Boolean(default: true)
如果设置为true,第一个建议会自动设置为高亮。
示例:设置highlightFirst
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
highlightFirst: false
});
</script>
ignoreCase Boolean(default: true)
默认情况下组件的搜索是区分大小写的。
示例:禁用不区分大小写的建议
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
ignoreCase: false
});
</script>
minLength Number(default: 1)
用户在执行搜索之前就必须键入元素的最小值,如果搜索结果匹配值太多,可以将值设置高一点(大于1)。
示例:设置最小高度
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
minLength: 3
});
</script>
placeholder String(default: "")
当提示为空时会显示占位符,默认情况下无设置。
示例:指定占位符
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
placeholder: "Enter value ..."
});
</script>
Kendo UI AutoComplete组件还可以使用HTML属性作为占位符提示。
示例:使用占位符HTML属性
<input id="autocomplete" placeholder="Enter value..." />
<script>
$("#autocomplete").kendoAutoComplete();
</script>
separator String(default: "")
示例:设置多个值之间的分隔符
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
separator: ", "
});
</script>
suggest Boolean(default: false)
如果设置为true,组件会自动使用第一个建议作为它的值。
示例:启用自动建议
<input id="autocomplete" />
<script>
$("#autocomplete").kendoAutoComplete({
suggest: true
});
</script>