I cannot add multiple values to the same field. I can select only one value, and after entering,, ; or another delimiter character I cannot select another. I want it to work like autocomplete.
I have a text box with jQuery string:
<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>
It uses my controller data:
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); }
I use these scripts:
<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" />
There is no error in firebug. What is wrong with my code?
