У меня есть страница, где я создал форму. У меня есть 2 dropdownlists (Список профилей &).Как проверить, выбран ли элемент в списке dropdownList и включить/отключить текстовое поле, если выбран или не выбран listitem
У меня есть 3 текстовых поля в этой форме. Что я хочу делать:
У меня есть 2 коробки, в которых я создаю новый профиль и новую группу зарплат, а новый профиль добавляется к профилисту, а группа зарплаты добавляется в список зарплат.
Теперь я хочу, чтобы третий ящик был отключен. Пока не будет выбран элемент как для зарплаты, так и для профилиста. Когда элементы выбраны, текстовое поле должно быть включено.
Мое мнение:
@model KUMA.Models.EmployeeCardAdminModel
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="row bgwhite">
<div class="twelve columns">
<h2>Administration KUMA</h2>
<div class="row bgwhite">@using (Html.BeginForm("Index", "Admin"))
{
<div class="three columns">
@Html.DropDownList("UserId", (SelectList)ViewBag.UserId, "--Välj anställd--")
</div>
<div class="three columns" style="margin-right:457px !important;">
@Html.DropDownList("Salaryid", (SelectList)ViewBag.Salaryid, "--Välj LöneGrupp--")
<input style="float:left;" type="submit" value="Knyt" />
</div>
}
@using (Html.BeginForm("Kompetens", "KumaAdmin"))
{
<div class="three columns" style="margin-right: 627px;">
<h6>Kompetenser</h6>
<div style="width:456px;"> @Html.ListBox("kompetensId", (SelectList)ViewBag.KomId, new { placeholder = "Kompetenser" })</div><br/>
@Html.TextBoxFor(mm => mm.Kompetens, new { placeholder = "Ange Kompetens" })
@*@Html.TextBoxFor(mm => mm.KompetensTest, new { placeholder = "Kompetens" })
@Html.TextAreaFor(mm => mm.KompetensTest, new { placeholder = "Kompetens", rows="5", cols="80" })*@
<input type="submit" style="margin-right: 205px;" value="Skapa"/><br/><br/>
</div>
}
@using (Html.BeginForm("Index", "KumaAdmin"))
{
<div class="three columns" style="margin-right: 627px;">
@* <input name="profileTxtBox"type="text" style="width:97px; height:28px;" value="" />*@
@Html.TextBoxFor(mm => mm.Profile, new { placeholder = "Ange Profil" })
@Html.TextBoxFor(mm => mm.SalaryGroup, new { placeholder = "Ange LöneGrupp" })
<input type="submit" value="Skapa"/>
</div>
}
@* <div class="one columns" style=" margin-left: 100px;margin-right: 164px; margin-top: -33px;">
<input name="profileTxtBox"type="submit" style="width:100px;" value="Add" />
</div>*@
<div class="five columns"></div>
</div>
</div
>
Контроллер:
public class AAdminController : Controller
{
static List<Employee> list = new List<Employee>();
//EmployeeCardAdminModel employee = new EmployeeCardAdminModel();
//
// GET: /Admin/
//[Authorize(Roles = "Admin")]
[HttpGet]
public ActionResult Index()
{
ViewBag.UserId = new SelectList(list, "Id", "Profile");
ViewBag.Salaryid = new SelectList(list, "Id", "SalaryGroup");
ViewBag.KomId = new SelectList(list, "Id", "Kompetens");
ModelState.Clear();
return View("Index");
}
[HttpPost]
// submit for profile & salary box
public ActionResult Index(Models.EmployeeCardAdminModel e)
{
if (string.IsNullOrEmpty(e.Profile) == false && string.IsNullOrEmpty(e.SalaryGroup) == false)
{
// adda a new employye to the list and set the values from the parameter to the model
list.Add(new Employee
{
Id = e.Id + 1,
Profile = e.Profile,
SalaryGroup = e.SalaryGroup
});
}
return (Index());
}
[HttpPost]
// submit for knowledge box
public ActionResult Kompetens(Models.EmployeeCardAdminModel e)
{
if (string.IsNullOrEmpty(e.Kompetens) == false)
{
// adda a new employye to the list and set the values from the parameter to the model
list.Add(new Employee
{
Kompetens = e.Kompetens
});
}
return (Index());
}
И, наконец, моя модель (обратите внимание, что класс emplyee такая же, как моя модель, с теми же свойствами но я считаю, что для наилучшей практики лучше всего их отделить.):
public class EmployeeCardAdminModel
{
public string Profile { get; set; }
public int Id { get; set; }
public string SalaryGroup { get; set; }
public string Kompetens { get; set; }
}
способ, которым я мог бы нормально это сделать, чтобы вызвать нужные списки и проверить, больше ли выбранный индекс больше нуля, но проблема в том, что я не знаю, как получить доступ к списку из контроллера правильно, поэтому я может получить доступ к элементам в нем. также как я могу получить идентификатор в текстовых окнах? Мне нужно это, чтобы иметь возможность отключить/включить правильное текстовое поле.
Im довольно новый для mvc, и я узнаю, делая проекты, поэтому все советы приветствуются.
Спасибо!