Html 如何检查是否在下拉列表中选择了项,以及如何在选择/未选择列表项时启用/禁用文本框
我有一个页面,在那里我创建了一个排序表单。 我有两个下拉列表(profilelist和salarlist) 我在这个表格中有3个文本框。我想做的是: 我有两个框,其中我创建了一个新的配置文件和一个新的salarygroup,新的配置文件被添加到profillist中,salarygroup被添加到salarylist中 现在我想禁用第三个框,直到选择salarylis和profillist中的项目。选择项目后,应启用文本框 我的看法是:Html 如何检查是否在下拉列表中选择了项,以及如何在选择/未选择列表项时启用/禁用文本框,html,asp.net-mvc-4,Html,Asp.net Mvc 4,我有一个页面,在那里我创建了一个排序表单。 我有两个下拉列表(profilelist和salarlist) 我在这个表格中有3个文本框。我想做的是: 我有两个框,其中我创建了一个新的配置文件和一个新的salarygroup,新的配置文件被添加到profillist中,salarygroup被添加到salarylist中 现在我想禁用第三个框,直到选择salarylis和profillist中的项目。选择项目后,应启用文本框 我的看法是: @model KUMA.Models.EmployeeCa
@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
我通常这样做的方式是调用所需列表并检查所选索引是否大于null,但问题是我不知道如何以正确的方式从控制器访问列表,以便访问其中的项目。还有,我如何在文本框上获得id?我需要这个来禁用/启用正确的文本框
我是mvc的新手,我通过做项目来学习,所以所有的建议都很感激
谢谢大家! 过了一段时间,我意识到没有脚本是不好的 所以我用jquery解决了这个问题,如下所示:
$(function () {
$(".list select").change(function () {
if ($(".list1 select").val().length == 0 || $(".list2 select").val().length == 0) {
$(".kompetensbox input").attr('disabled', 'disabled');
}
else {
$(".kompetensbox input").removeAttr('disabled');
}
})
});
视图更改(添加的css类):
@Html.DropDownList(“UserId”,(SelectList)ViewBag.UserId,“--Välj profilgrupp--”)
@DropDownList(“Salaryid”,(SelectList)ViewBag.Salaryid,“--Välj Lönegroupp--”)
希望它能帮助其他尝试同样方法的人。过了一段时间,我意识到没有脚本是做这件事的好方法 所以我用jquery解决了这个问题,如下所示:
$(function () {
$(".list select").change(function () {
if ($(".list1 select").val().length == 0 || $(".list2 select").val().length == 0) {
$(".kompetensbox input").attr('disabled', 'disabled');
}
else {
$(".kompetensbox input").removeAttr('disabled');
}
})
});
视图更改(添加的css类):
@Html.DropDownList(“UserId”,(SelectList)ViewBag.UserId,“--Välj profilgrupp--”)
@DropDownList(“Salaryid”,(SelectList)ViewBag.Salaryid,“--Välj Lönegroupp--”)
希望它能帮助其他同样尝试的人
$(function () {
$(".list select").change(function () {
if ($(".list1 select").val().length == 0 || $(".list2 select").val().length == 0) {
$(".kompetensbox input").attr('disabled', 'disabled');
}
else {
$(".kompetensbox input").removeAttr('disabled');
}
})
});
<div class="three columns list list1">
@Html.DropDownList("UserId", (SelectList)ViewBag.UserId, "--Välj profilgrupp--")
</div>
<div class="three columns list list2" style="margin-right:457px !important;">
@Html.DropDownList("Salaryid", (SelectList)ViewBag.Salaryid, "--Välj LöneGrupp--")
<input style="float:left;" type="submit" value="Knyt" />
</div>