dojo有两个小部件实现了增量搜索,dojo.from.FilteringSelect和dojo.from.ComoBox.他们都是从dojo.data数据源中获取提示数据,并且每一个都使用一个<select>标签来实现界面,所不同的是FilteringSelect使用将选项限制在提示数据的集合内,而ComoBox不会这样做。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mixin</title>
<style type="text/css">
@import "dojo/resources/dojo.css";
@import "dijit/themes/tundra/tundra.css";
</style>
<meta name="author" content="zhou" />
<script src= "dojo/dojo.js" data-dojo-config="isDebug: true, async: true,parseOnload:true"></script>
<script language="JavaScript" src= "test.js"></script>
</head>
<body class="tundra">
<div id = "stateSelect"></div>
</body>
</html>
dojo.require("dojo.parser"); dojo.require("dojo.data.ItemFileReadStore"); dojo.require("dijit.form.FilteringSelect"); //dojo.addOnLoad() var store = new dojo.data.ItemFileReadStore({ url: "abc.json" }); dojo.ready(function(){ var filteringSelect = new dijit.form.FilteringSelect({ store: store, searchAttr: "name" }, "stateSelect"); });
{
"identifier": "name",
"label":"name",
"items": [
{ "name": "Bob", "spouse": {"_reference":"Sally"}, "children": [ { "_reference":"Nancy"}]},
{ "name": "Sally", "spouse": {"_reference":"Bob"}, "children": [ { "_reference":"Nancy"}]},
{ "name": "Nancy"},
{ "name": "zhou"},
]
}