我無法在同一字段中添加少量值。我只能選擇一個值,並且在輸入,
,;
或其他分隔字符後,我無法選擇另一個值。我希望它能像自動完成一樣工作。使用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
我使用自動完成,並沒有問題,你不能只是使用一個分隔符,爲什麼你有這麼多? –