2012-10-12 46 views
0

使用ASP.Net MVC3的Iam Razor,我在.cshtml中有兩個下拉列表,比如ddl1和ddl2。 我在控制器中綁定了數據,並使用viewbag發送到下拉菜單。 這兩個ddls都有相同的數據,像A,B,C,D。如果我在ddl1中選擇A,它應該在ddl2中隱藏A;如果選擇B,它應該在ddl2中隱藏B.任何人都可以幫助我使用JavaScript或jQuery。如何在ASP.Net中動態地在dropdownlist2中隱藏dropdownlist1選定的值Mvc3Razor

這是我的控制,我已經綁定..

public ActionResult Index() 
     { 
      ViewBag.ddl1 = new SelectList(db.Collection, "ID", "Name"); 
      ViewBag.ddl2 = new SelectList(db.Collection, "ID", "Name"); 
      return View(); 
     } 

和View是(.cshtml上述操作)

<table class="table"> 
    <tr> 
     <td>  
     @Html.DropDownList("ddl1", "-select name-") 
     </td> 
     <td> 
     @Html.DropDownList("ddl2","-select name-") 
      </td> 
    </tr> 
    </table> 

thanx提前

回答

1

這裏是大意。比方說,我們有2名下拉列表:

<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>​ 

從DDL2刪除DDL1選擇的值:

$('#ddl1').change(function() { 
    $('#ddl2 option').each(function() { 
     if ($(this).attr('value') == $('#ddl1 option:selected').attr('value')) { 
      $(this).remove(); 
     } 
    }); 
}); 

而且從DDL1刪除DDL2選擇的值:

$('#ddl2').change(function() { 
    $('#ddl1 option').each(function() { 
     if ($(this).attr('value') == $('#ddl2 option:selected').attr('value')) { 
      $(this).remove(); 
     } 
    }); 
}); 

如果您想要在每次更改時重新加載下拉值,只需再次調用您的下拉填充函數即可。我希望這將有助於...

而且,這裏是演示:http://jsfiddle.net/cJ8wN/8/

+0

此代碼工作很好,我需要一個更多的幫助。當我回去選擇DDL1的其他選項,然後DDL2必須刷新..你可以幫助我 – user1603121

+0

一旦你回去,如果你再次調用你的下拉列表填充函數,它將被刷新。 –

相關問題