簡體   English   中英

DropDown(組合框)與ASP.NET MVC中的復選框

[英]DropDown(combobox) with checkboxes in ASP.NET MVC

嗨,

我正在構建一個ASP.NET MVC 2應用程序,到目前為止使用常規下拉列表:

<%: Html.DropDownListFor(model => model.LS.L1, Model.LS.Location1List, "-- choose place --", new { @class = "dd1" })%>

現在我需要將其更改為帶有復選框列表的下拉列表。 這意味着兩件事:

  1. 模型大多數都是變化的,所以L1可以保存多個值(而不僅僅是一個int),maby也可以將Location1List從SelectList更改為某種列表?
  2. DropDownListFor(組合框)大多數都改為“DropDownCheckListFor”。

重要的是,這是盡可能基本的,以便我們可以保持瀏覽器的兼容性(即使在智能手機上)。

您可以看到,在提交時將所選值填充到模型對象(通過默認活頁夾)中也很重要。

我查看了這個下拉列表: http//www.erichynds.com/jquery/jquery-ui-multiselect-widget/

它看起來很不錯,但我不知道如何將其轉換為ASP.NET MVC,因此所選值將填充到提交的模型對象中(如DropDownListFor所做)。 此jquery解決方案也許不必要復雜。

請求建議

記住MVC助手只是呈現HTML標記。 因此,根據您鏈接的頁面上的說明,您只需要生成

<select multiple="multiple">

為此,您需要使用Html.ListBoxFor而不是Html.DropDownListFor 然后,當您包含所有正確的javascript文件時,您只需添加一個javascript塊。 看起來像這樣:

$(function() {
   $('.dd1').multiselect();
});

本教程顯示了創建多選下拉列表的完整分步指南,其中包含mvc Multiselect下拉列表中的復選框以及MVC中的復選框

你需要選擇標簽

<select id="CustomerId" name="CopyFromCustomerId"></select>

或者你可以使用Html.ListBoxFor

您需要以下腳本

$('#CustomerId').multiselect({
            includeSelectAllOption: true
        });

並在css和腳本文件下面

<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" type="text/css" />
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>     
<script type="text/javascript" src="http://davidstutz.github.io/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"></script>
<link rel="stylesheet" href="http://davidstutz.github.io/bootstrap-multiselect/dist/css/bootstrap-multiselect.css" type="text/css"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM