界面用的bootstrap,想做个城市的联想输入,例如:输入s 就把s开头的城市列出来
重点不是这个!!!重点是,我点击联想的内容,能把内容对应的id放到文本框的tag属性里面!!!
效果图如上吧!!
我用的bootstrap typeahead这个插件,插件有很多版本。。。。。
我用的twitter-bootstrap-typeahead这个版本,链接地址:https://github.com/tcrosen/twitter-bootstrap-typeahead
比起其他版本的插件,功能不是很强大,但是足够我用了。
附上,我的前段代码:
- <input id="txtcity" type="text" autocomplete="off" class="form-control" placeholder="城市" data-provide="typeahead" />
复制代码
- $(function () {
- $("#txtcity").typeahead({
- ajax: {
- url: '@Url.Action("CityList")',
- //timeout: 300,
- method: 'post',
- triggerLength: 1,
- dataType: 'JSON',
- loadingClass: null,
- displayField: 'localName',
- preProcess: function (result) {
-
- return result;
- }
- },
- display: "localName",
- val: "localID",
- items: 8,
- itemSelected: function (item, val, text) {
- $("#txtcity").attr("tag", val);
- $("#txtcity").val(text);
- },
- matcher: function (obj) {
- //var item = JSON.parse(obj);
- return true;
- }
- });
- $("#txtcity").blur(function (e) {
- var txt = $("#txtcity").val();
- if (txt == null || txt == undefined || $.trim(txt) == "")
- {
- $("#txtcity").removeAttr("tag");
- }
- })
- });
复制代码 json数据
- [{"localName":"上海","localID":"2","dirName":"sh"},{"localName":"上饶","localID":"10116","dirName":"sr"}]
复制代码
|