Javascript 如何在ASP.Net MVC30中动态隐藏DropDownList 2中的DropDownList 1选定值
我使用ASP.NETMVC3 Razor,在.cshtml中有两个下拉列表,比如ddl1和ddl2。 我已将数据绑定到控制器中,并使用viewbag发送到下拉列表。 两个DDL中都有相同的数据,如A、B、C、D。如果我在ddl1中选择A,它应该在ddl2中隐藏A;如果选择B,则应在ddl2中隐藏B。有谁能帮我使用javascript或jquery吗 这是我绑定的控制器Javascript 如何在ASP.Net MVC30中动态隐藏DropDownList 2中的DropDownList 1选定值,javascript,asp.net-mvc-3,jquery,Javascript,Asp.net Mvc 3,Jquery,我使用ASP.NETMVC3 Razor,在.cshtml中有两个下拉列表,比如ddl1和ddl2。 我已将数据绑定到控制器中,并使用viewbag发送到下拉列表。 两个DDL中都有相同的数据,如A、B、C、D。如果我在ddl1中选择A,它应该在ddl2中隐藏A;如果选择B,则应在ddl2中隐藏B。有谁能帮我使用javascript或jquery吗 这是我绑定的控制器 public ActionResult Index() { ViewBag.ddl1
public ActionResult Index()
{
ViewBag.ddl1 = new SelectList(db.Collection, "ID", "Name");
ViewBag.ddl2 = new SelectList(db.Collection, "ID", "Name");
return View();
}
视图为(.cshtml,用于上述操作)
@DropDownList(“ddl1”,“选择名称-”)
@Html.DropDownList(“ddl2”,“选择名称-”)
Thanx提前这里是主要的想法。假设我们有两个下拉列表:
<select id="ddl1">
<option>Select</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select><br/><br/>
<select id="ddl2">
<option>Select</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
还要从ddl1中删除ddl2选定值,请执行以下操作:
$('#ddl2').change(function() {
$('#ddl1 option').each(function() {
if ($(this).attr('value') == $('#ddl2 option:selected').attr('value')) {
$(this).remove();
}
});
});
如果要在每次更改时重新加载下拉列表值,只需再次调用下拉列表填充函数。我希望这将有助于
还有演示:这段代码运行良好,我还需要一个帮助。。当我返回并选择ddl1的其他选项时,ddl2必须刷新。。你能帮我吗?一旦你回去,如果你再次调用你的下拉列表填充函数,它会被刷新。
$('#ddl1').change(function() {
$('#ddl2 option').each(function() {
if ($(this).attr('value') == $('#ddl1 option:selected').attr('value')) {
$(this).remove();
}
});
});
$('#ddl2').change(function() {
$('#ddl1 option').each(function() {
if ($(this).attr('value') == $('#ddl2 option:selected').attr('value')) {
$(this).remove();
}
});
});