У меня есть веб-страница с двумя полями TextBoxFor, которые используют автозаполнение Javascript.С одним из полей, ClientUser, ответ включает в себя целое число и строку.Затем целое число сравнивается с другим целочисленным полем на странице, ClientID, и, если они совпадают, строка используется в предложениях автозаполнения.Ответ другого поля, WorkmateUser, представляет собой список строк, который можно сразу же использовать в автозаполнении.
Контроллер получает удар и возвращает правильный общий список, затем выбирается правильный URL / поле, нуждающееся в проверке, но этот список требуетвалидация не определена для поля автозаполнения ClientUser, нуждающегося в валидации.Каков наиболее эффективный способ сравнения целочисленного поля на странице с целым числом, возвращаемым для списка автозаполнения?Заранее спасибо!
Бритва:
<div class="row">
<div class="col-lg-12">
@Html.LabelFor(m => m.WorkmateUser, "Workmate To Add", new { @class = "control-label" })
@Html.TextBoxFor(m => m.WorkmateUser, new { data_autocomplete_url = Url.Action("GetWorkmates"), @class = "form-control" })
</div>
</div>
<div class="row">
<div class="col-lg-8">
@Html.LabelFor(m => m.ClientID, "Firm To Include", "--Choose Firm--")
@Html.DropDownListFor(m => m.ClientID, StaticCache.GetClients(Model.UserID), new { @class = "form-control" })
</div>
</div>
<div class="row">
<div class="col-lg-8">
@Html.LabelFor(m => m.ClientUser, "Client To Add", new { @class = "control-label" })
@Html.TextBoxFor(m => m.ClientUser, new { data_autocomplete_url = Url.Action("GetAllClients"), @class = "form-control" })
</div>
</div>
Javascript:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('*[data-autocomplete-url]')
.each(function () {
var $url = $(this);
$(this).autocomplete({
source: $(this).data("autocomplete-url"),
response: function (data) {
if ($(this).data("autocomplete-url") == "/Message/GetAllClients") {
var aList = [];
for (var i = 0; i < data.length; i++) {//data.length is undefined!!!
if (data[i].ClientID == $("#ClientID").val()) {
aList.push(data[i].FirstName);
}
}
return bros;
}
else {
return data;
}
}
});
});
});
</script>