2017-06-02 3 views
0

Dieser Code erlaubt mir nicht, mehrere Elemente auszuwählen, wie kann ich es einstellen, so dass es möglich ist? Wie rufe ich die mehreren ausgewählten Elemente an? Der gleiche Weg oder ein neuer Weg? Eine andere Sache, die mich betrifft, ist das Design des Dropdown-Menüs, ist es möglich, eine Liste von Checkbox-Elementen zu löschen? aber das ist optional.Drop-Down erlaubt nicht mehrere ausgewählte Werte in MVC5

Teilansicht:

@model Website_Design.Models.Models 


@{ 
    var x = Model.Stuff.Countries[0].Text; 
    <p>@x</p> 
} 

Übersicht:

@model Website_Design.Models.Models 

    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script> 


@{ 
using (Html.BeginForm()) 
{ 

    <div class="row"> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.Stuff.CountryId, new { @class = "col-md-2 control-label" }) 
      <div class="col-md-10"> 
       @Html.DropDownListFor(m => m.Stuff.CountryId, Model.Stuff.Countries, new { @class = "form-control" }) 
      </div> 
     </div> 
    </div> 


} 
<input type="button" value="Battle" id="battleButton" /> 

} 

<!--THREE--> 
<div id="pvDiv1"></div> 

<script> 
var Battle = '@Url.Action("Battle", "Home")'; 
//MVC FUNCTIONS 
$(document).ready(function() { 
    $('#battleButton').click(function() { 

     $.ajax({ 
      type: 'POST', 
      url: Battle, 

      //data: $('form').serialize() + '&' + $.param({ a: P1, b: P2 }), 
      data: $('form').serialize(), 
      success: function(result) { 
       $('#pvDiv1').html(result); 
      } 

     }); 
    }); 
}); 

Controller:

public ActionResult Index(Models model) 
    { 

     model.Stuff = new Stuff(); 

     return View(model); 
    } 

Modell:

public class Stuff 
{ 
    public int CountryId { get; set; } 
    public List<SelectListItem> Countries 
    { 
     get 
     { 
      return new List<SelectListItem>{ 
                new SelectListItem{ 
                      Text="India", 
                      Value = "1" 
                     }, 
                new SelectListItem{ 
                      Text="USA", 
                      Value = "2" 
                     }, 
                new SelectListItem{ 
                      Text="USA2", 
                      Value = "3" 
                     }, 
                new SelectListItem{ 
                      Text="US3", 
                      Value = "2" 
                     } 
               }; 
     } 
    } 
} 

Antwort

0

Der DropDownListFor Helfer eine Multi Auswahlliste nicht erstellen können. Es erstellt nur die reguläre <select> Dropdown-Box.

In HTML, die nur „native“ Weg, um eine Auswahlbox zu schaffen, die eine Mehrfachauswahl erlaubt ist, ein <select> Element mit einem multiple Attribute zu verwenden, etwa so:

<select multiple="multiple"> 
.... 
</select> 

Es ist eine Hilfsmethode für die ListBoxFor

In Bezug auf das Design können Sie nicht wirklich viel ändern. Wenn Sie möchten, dass die Dropdown-Liste Kontrollkästchen anzeigt, haben Sie kein Glück - Sie müssen Ihre eigenen Rollen mit CSS/Javascript rollen.

Es gibt weitere Informationen über die ListBoxFor Helfer hier: How do you properly create a MultiSelect <select> using the DropdownList helper?

Verwandte Themen