2012-02-17 74 views
1

在我的MVC應用程序中,我的表單包含一個複選框和下拉列表。當我選擇複選框爲true時,我想禁用dropdownlist,反之亦然。另外我想填充一個'None'值作爲下拉列表中的選定項目,從db中填充下拉列表中有一些其他數據。有什麼解決辦法?請幫我解決這個問題。 謝謝Dropdownlist在MVC中禁用和啓用複選框操作

+0

以我.cshtml文件 @ Html.LabelFor(型號=> model.IsActive) ​​@ Html.CheckBoxFor(型號=> model.IsActive) @ Html.ValidationMessageFor(型號=> model.IsActive) – 2012-02-17 06:30:22

+1

通過一些JavaScript/jQuery的教程演示瞭如何操作DOM – Eranga 2012-02-17 06:33:37

+0

走的是它可能沒有jQuery和我如何可以設置默認值沒有?在dropdownlistitems的頂部? – 2012-02-17 06:36:23

回答

4

你將需要使用JavaScript來做到這一點。使用jQuery你可以訂閱.change事件的複選框,並切換下拉的disabled屬性:

$(function() { 
    $('#id_of_your_checkbox').change(function() { 
     if ($(this).is(':checked')) { 
      // disable the dropdown: 
      $('#id_of_dropdown').attr('disabled', 'disabled'); 
     } else { 
      $('#id_of_dropdown').removeAttr('disabled'); 
     } 
    }); 
}); 

我也想在下拉列表填充一個「無」的值作爲選擇的項目

這不是一個很常見的要求。您將不得不在第IEnumerable<SelectListItem>集合前面手動添加此項目作爲DropDownListFor助手的第二個參數。

+0

感謝Darin爲您提供寶貴的答案。它節省了我很多時間......因爲我是mvc和jquery的新成員.............有一件事我注意到當表單被選中時第一次加載。那時我們可以選擇dropdown.how我可以禁用這個@表單加載? – 2012-02-17 07:27:22