Javascript 如何在ASP.Net MVC30中动态隐藏DropDownList 2中的DropDownList 1选定值

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

我使用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 = 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();
        }
    });
});