Tôi không thể thêm vài giá trị vào cùng một trường. Tôi chỉ có thể chọn một giá trị và sau khi nhập ,
, ;
hoặc ký tự phân cách khác, tôi không thể chọn một giá trị khác. Tôi muốn nó hoạt động tương tự như tự động hoàn thành.Vấn đề với delimitir khi sử dụng jquery và dao cạo mvc
Tôi có một textbox với jQuery ràng buộc:
<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>
Nó sử dụng dữ liệu từ bộ điều khiển của tôi:
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);
}
Tôi đang sử dụng các kịch bản:
<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" />
Không có lỗi trong firebug. Có gì sai với mã của tôi?
tự động hoàn thành jqueryui có [ví dụ] (http://jqueryui.com/demos/autocomplete/#multiple-remote) chính xác những gì đang tìm kiếm. có lẽ là một lựa chọn tốt hơn so với một plugin chưa được cập nhật trong hơn một năm và có cơ sở người dùng nhỏ hơn. –
Bạn có quyền. Nhưng nếu bạn cho tôi mã để thay nguồn: function (yêu cầu, phản ứng) { \t \t \t \t \t $ .getJSON ("search.php", { \t \t \t \t \t \t hạn: extractLast (request.term) \t \t \t \t \t}, phản hồi); \t \t \t \t} dán giải pháp từ bài đăng của tôi để nhận dữ liệu, nó sẽ là lời cảm ơn đối với tôi. Và tạo ra một câu trả lời. Tôi phải cho điểm :) – user278618
Tôi sử dụng tính năng tự động hoàn thành và không có vấn đề gì, có thể bạn chỉ cần sử dụng một dấu phân tách, tại sao bạn lại có quá nhiều dấu? –