0
ASP.NET MVC 3ビューを動的にロードしています。ビュー内には、「自動完成」が必要なテキストボックスがあります。以下のコード:ASP.NET MVCビュー内でjQueryオートコンプリートが動作しない動的にロードされたビュー
@model CountryViewModel
@using (Html.BeginForm("Create", "Country", FormMethod.Post)) {
@Html.ValidationSummary(true)
<div class="field">
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="field">
@Html.LabelFor(model => model.Description)
@Html.TextBoxFor(model => model.Description)
</div>
<div class="field">
@Html.LabelFor(model => model.Latitude)
@Html.TextBoxFor(model => model.Latitude)
</div>
<div class="field">
@Html.LabelFor(model => model.Longitude)
@Html.TextBoxFor(model => model.Longitude)
</div>
@Html.HiddenFor(model => model.CultureId, new { id = "CultureId" })
}
<script type="text/javascript">
$(document).ready(function() {
$('#Name').autocomplete({
source: function(request, response) {
$.ajax({
url: '@(Url.Action("GetCountriesB", "Country"))',
data: "{ 'countryName': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item.Country
}
}))
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 2,
focus: function(event, ui) {
$('#Name').val(ui.item.Country);
return false;
}
});
});
私はjQueryのUIのダイアログ内でこのビューをロードしています。 Firebugを使用してデバッグすると、「スクリプト」タグがロードされていないように見えるので、オートコンプリートは機能しません。
この現象はなぜ起こりますか?
おかげ
あなたのコードに「
私は同じ問題を抱えていましたが、Z-インデックスが低すぎることが判明しました。それは実際に働いていたが、ただ表示されていない。
出典
2016-08-04 10:18:31