0
ユーザーがフォーム上のテキストボックスに何かを入力していて、入力しているものが既にデータベースにある値と一致する場合は、そのテキストボックスにすでにデータベースに入っている値に基づいて、ユーザーが入力したいものの残りの部分を自動入力しますか?私のデータベースに:テキストボックスを自動入力する
は、私は(Person
テーブルの名前を):この表を持って考えてみましょう
|ID| |FirstName| |LastName|
1 John Smith
2 Tom Jones
3 James Davis
と、ユーザは、彼らがに城を入力し始める新しいPerson
を作成したいフォーム上FirstName
テキストボックス..テキストボックスにhnを自動入力するオプションを与えるにはどうすればいいですか?の綴りに最初の文字を大文字にしますか?
何か助けていただければ幸いです。
UPDATE:
コントローラー:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult Create([Bind(Include = "ID,text,subcategory")] Activity codeAC, string term)
{
if (ModelState.IsValid)
{
var result = (from r in db.Activities
where r.subcategory.ToUpper().Contains(term.ToUpper())
select new { r.subcategory }).Distinct();
db.Activities.Add(codeAC);
db.SaveChanges();
return Json(result, JsonRequestBehavior.AllowGet);
}
return Json(codeAC);
}
スクリプト:
<script type="text/javascript">
$(document).ready(function() {
$('#Categories').autocomplete({
source: function (request, response) {
$.ajax({
url: "/Activities/Create",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.subcategory, value: item.subcategory };
}))
}
})
},
messages: {
noResults: "", results: ""
}
});
})
CSHTML:
<div class="form-group">
@Html.LabelFor(model => model.subcategory, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.subcategory, new { htmlAttributes = new { @id = "Categories", @class = "form-control" } })
@Html.ValidationMessageFor(model => model.subcategory, "", new { @class = "text-danger" })
</div>
</div>
の例では、[ここ](http://www.c-sharpcorner.com/UploadFile/0c1bb2/creating-ありますautocomplete-textbox-in-Asp-Net-mvc-5 /) – stuartd
[this](http://www.itorian.com/2013/02/jquery-ui-autocomplete-with-json-in-mvc.html)を参照してください。 ) –
@BKOそう、私は* Create *アクションでこれを使用したいと思っていましたが、 rkと私はあなたの参照をかなり密接に従っていると思う..私はこの仕事のための別のJsonResultメソッドを作成する必要がありますか?何か間違いがあるかどうか確認するために私の更新を見渡すことができますか? –