我无法在同一字段中添加少量值。我只能选择一个值,并且在输入,
,;
或其他分隔字符后,我无法选择另一个值。我希望它能像自动完成一样工作。使用jquery和mvc剃须刀的delimitir问题
我有jQuery的一个文本框的约束:
public ActionResult TagName(string q)
{
var tags = new List<TagModel>
{
new TagModel {Name = "aaaa", NumberOfUse = "0"},
new TagModel {Name = "mkoh", NumberOfUse = "1"},
new TagModel {Name = "asdf", NumberOfUse = "2"},
new TagModel {Name = "zxcv", NumberOfUse = "3"},
new TagModel {Name = "qwer", NumberOfUse = "4"},
new TagModel {Name = "tyui", NumberOfUse = "5"},
new TagModel {Name = "asdf[", NumberOfUse = "6"},
new TagModel {Name = "mnbv", NumberOfUse = "7"}
};
var tagNames = (from p in tags where p.Name.Contains(q) select p.Name).Distinct().Take(3);
string content = string.Join<string>("\n", tagNames);
return Content(content);
}
我使用这些脚本:
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.autocomplete.js")" type="text/javascript"></script>
<link href="@Url.Content("~/Scripts/jquery.autocomplete.css")" rel="stylesheet" type="text/css" />
没有
<div class="editor-field">
@Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name)
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#Name").autocomplete('@Url.Action("TagName", "Tag")', {
minChars: 1,
delimiter: /(,|;)\s*/,
onSelect: function(value, data){
alert('You selected: ' + value + ', ' + data);
}
});
});
</script>
它从我的控制器使用数据错误在萤火虫。我的代码有什么问题?
jqueryui autocomplete有一个[示例](http://jqueryui.com/demosplete/#multiple-remote)正是what're寻找。可能是一个比一年内没有更新并且用户基数较小的插件更好的选择。 –
你有权利。但是,如果你给我的代码,而不是来源:函数(请求,响应){ \t \t \t \t \t $ .getJSON( “search.php中”,{ \t \t \t \t \t \t项:extractLast(request.term) \t \t \t \t \t},response); \t \t \t \t}从我的帖子粘贴解决方案来获取数据,这将是我的鞭策。并创建一个答案。我必须给你点:) – user278618
我使用自动完成,并没有问题,你不能只是使用一个分隔符,为什么你有这么多? –