您好我想使用自动填充功能以及tagsinput 用Bootstrap 我也有一个外部json文件。 我已经添加了外部json以及它的外观。 谁能帮我吗 谢谢 参考链接http://timschlechter.github.io/bootstrap-tagsinput/examples/
代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="css/bootstrap-responsive.css" rel="stylesheet" />
<link href="css/bootstrap.css" rel="stylesheet" />
<link href="css/bootstrap-tagsinput.css" rel="stylesheet" />
<script src="Scripts/jquery-2.0.3.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/bootstrap-tagsinput.min.js"></script>
<script>
$('input').tagsinput({
typeahead: {
source: function (typehead, query)
{
$.ajax({
url: "http://localhost:56558/keywords/test.html",
dataType: "json",
success: function(data) {
var return_list = [], i = data.length;
while (i--) {
return_list[i] = { Name: data[i].value, value: data[i].id };
}
typeahead.process(return_list);
}
});
}
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" data-role="tagsinput" placeholder="Add tags" />
</div>
</form>
</body>
</html>
[ { "id": "Netta rufina", "label": "Red-crested Pochard", "value": "Red-crested Pochard" }, { "id": "Sterna sandvicensis", "label": "Sandwich Tern", "value": "Sandwich Tern" }, { "id": "Saxicola rubetra", "label": "Whinchat", "value": "Whinchat" }, { "id": "Saxicola rubicola", "label": "European Stonechat", "value": "European Stonechat" }, { "id": "Lanius senator", "label": "Woodchat Shrike", "value": "Woodchat Shrike" }, { "id": "Coccothraustes coccothraustes", "label": "Hawfinch", "value": "Hawfinch" }, { "id": "Ficedula hypoleuca", "label": "Eurasian Pied Flycatcher", "value": "Eurasian Pied Flycatcher" }, { "id": "Sitta europaea", "label": "Eurasian Nuthatch", "value": "Eurasian Nuthatch" }, { "id": "Pyrrhula pyrrhula", "label": "Eurasian Bullfinch", "value": "Eurasian Bullfinch" }, { "id": "Muscicapa striata", "label": "Spotted Flycatcher", "value": "Spotted Flycatcher" }, { "id": "Carduelis chloris", "label": "European Greenfinch", "value": "European Greenfinch" }, { "id": "Carduelis carduelis", "label": "European Goldfinch", "value": "European Goldfinch" } ]
答案 0 :(得分:5)
提前道歉 - 这应该被看作是评论,而不是答案(我的排名不足以评论)。
Corey的答案非常适合于排版版本0.9,其中“setQuery”&#39;方法存在。 说,在typeahead 1.0中存在一个问题:&#39; setQuery&#39;不复存在。看起来它的功能已被&#39; val&#39;取代。我试图让它发挥作用,似乎有一个问题,即班级提示&#39;选择标签时不会清除,导致混乱的输入字段。有没有其他人碰到这个?
答案 1 :(得分:2)
不确定这是否会有所帮助但有类似的问题,这是我为我工作的代码。
<input id="my-tags" type="text" placeholder="Add tags" />
<script type="text/javascript">
var colors = ["red", "blue", "green", "yellow", "brown", "black"];
var elt = $('#my-tags');
elt.tagsinput('input').typeahead({
local: colors,
prefetch: '/assets/data/countries.json'
}).bind('typeahead:selected', $.proxy(function (obj, datum) {
this.tagsinput('add', datum.value);
this.tagsinput('input').typeahead('setQuery', '');
}, elt));
</script>
现在我使用bootstrap 3并且它不再具有typeahead,你必须包含与此处分开的twitters typeahead
http://twitter.github.io/typeahead.js/
我看到你没有包含它,也许就是这样。
HTH
此外,您还必须添加css
/*------ typeahead ------*/
.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
margin-bottom: 0;
}
.tt-suggestion.tt-is-under-cursor {
color: #fff;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #9FDD48, #8CC43E);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9FDD48), to(#8CC43E));
background-image: -webkit-linear-gradient(top, #9FDD48, #8CC43E);
background-image: -o-linear-gradient(top, #9FDD48, #8CC43E);
background-image: linear-gradient(to bottom, #9FDD48, #8CC43E);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff9FDD48', endColorstr='#ff8CC43E', GradientType=0)
}
.twitter-typeahead .tt-hint {
/*display: none;*/ your choice here...
}
.twitter-typeahead .hint-small {
height: 30px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
line-height: 1.5;
}
.twitter-typeahead .hint-large {
height: 45px;
padding: 10px 16px;
font-size: 18px;
border-radius: 6px;
line-height: 1.33;
}
.tt-dropdown-menu {
min-width: 160px;
margin-top: 2px;
padding: 5px 0;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0,0,0,.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
box-shadow: 0 5px 10px rgba(0,0,0,.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.tt-suggestion {
display: block;
padding: 3px 20px;
}
.tt-suggestion.tt-is-under-cursor {
color: #fff;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #9FDD48, #8CC43E);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9FDD48), to(#8CC43E));
background-image: -webkit-linear-gradient(top, #9FDD48, #8CC43E);
background-image: -o-linear-gradient(top, #9FDD48, #8CC43E);
background-image: linear-gradient(to bottom, #9FDD48, #8CC43E);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff9FDD48', endColorstr='#ff8CC43E', GradientType=0)
}
.tt-suggestion.tt-is-under-cursor a {
color: #fff;
}
.tt-suggestion p {
margin: 0;
}