Я строю форму счета-фактуры, где пользователь должен выбрать клиента из тысяч записей. Чтобы пользователи могли искать &, я хочу использовать модальную форму для выбора желаемого клиента, а затем вставить идентификатор клиента & в оригинальную форму. (Я считаю, что этот метод является работа вокруг для "не-гнездовой-форм" правила.)Как вставить ajax в значение из результата модальной формы?
Счет Форма:
клиентов: [Кнопка выбора клиента] - [Display Name после выбранного] [скрытый: customer_id]
Сумма: [нормальная форма вещь]
режимной форма:
Поиск []
[Таблица клиентов, фильтр поиска] [выбрать эту кнопку клиент]
Я не думаю, что мне нужно иметь метод [HTTP POST], чтобы захватить выбор модальной формы - вместо этого я просто хочу использовать javascript для обновления значения формы счета для идентификатора клиента (скрытого) & Имя клиента.
До сих пор у меня есть:
Контроллер:
public ActionResult Modal()
{
return PartialView();
}
public ActionResult SaveInvoice()
{
return View();
}
[HttpPost]
public ActionResult SaveInvoice(Invoice invoice)
{
dataManager.Save(invoice);
return RedirectToAction("Index");
}
Модальные Частичное:
--have не осуществлять поиск еще - сейчас пытается получить вставку работать с номер текстового поля
@model Models.Customer
<div class="modal-content">
<div class="modal-header"> Select Customer </div>
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.AntiForgeryToken()
<div class="modal-body">
<div class="form-horizontal">
<div class="form-group">
@Html.LabelFor(model => model.id, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.id, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.id, "", new { @class = "text-danger" })
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" id="save-customer-id" />
</div>
</div>
</div>
}
</div>
Счет Просмотр
@model Models.Invoice
<div class="form-horizontal">
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.customerId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<button id="CustomerBtn" class="btn btn-primary btn-lg" onclick="ShowModal()">Select Customer</button>
@Html.EditorFor(model => model.customerId, new { htmlAttributes = new { @class = "form-control", id= "customer-id" } })
@Html.ValidationMessageFor(model => model.customerId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
<div id="CustomerModal" class="modal">
<div id="CustomerContainer" class="modal-dialog">
@Html.Partial("Modal")
</div>
</div>
Javascript
<script type="text/javascript">
function ShowModal() {
$('#CustomerModal').modal('show');
};
</script>
В настоящее время код показывает форму и кнопка открывает модальную форму правильно.
Заранее благодарен! Я искал, но ничего не видел о вставке с модального обратно на «справочную страницу». (И я не использовал AJAX много).
Использование:
- Visual Studio 2015
- ASP.NET MVC Entity Framework
- Bootstrap (пытался использовать TwitterBootstrapMVC без удачи)
Рассмотрим с помощью элемента управления автозаполнения (например, [jQueru-UI Автозаполнение] (https://jqueryui.com/autocomplete/#remote)) –
просмотрена в это - очень здорово. Попробовал добавить его через Nuget Package Manager, и похоже, что они недавно не выпустили обновление, поэтому оно несовместимо. 'Ошибка Невозможно найти версию jQuery, совместимую с' bootstrap 3.3.7 constraint ' – swallis1
Вникая в нее больше - получается jQuery.UI.Combined поддерживается. Я пытаюсь получить простую примерную версию, которая работает и борется с ней. У меня более 30 тыс. Записей - действительно ли это будет способно обрабатывать фильтрацию через многие записи? – swallis1