2012-12-08 14 views
16

मैं Chosen में एकाधिक चयन का उपयोग करना चाहता हूं।एमवीसी 4 में एकाधिक चयन का उपयोग कैसे करें?

<select data-placeholder="Choose a Country..." class="chzn-select" multiple > 
      <option value=""></option> 
      <option value="United States">United States</option> 
      <option value="Albania">Albania</option> 
      <option value="Algeria">Algeria</option> 
    </select> 

मैं अपने डेटा के साथ देश डेटा बदलना चाहते हैं: मैं कौशल मॉडल की तरह,

public class Skill 
    { 
     public int Id { get; set; } 
     public string Name { get; set; }   
    } 

यह मेरा आवेदन में काम करता है। नियंत्रक में मैं लिखना:

 var list = MyService.LoadAllSkills(); 
     ViewBag.Skills = new MultiSelectList(list, "Id", "Name"); 

ध्यान में रखते हुए:

@Html.ListBox("Name", ViewBag.Skills as MultiSelectList, 
       new { @class = "chzn-select" }) 

की @ Html.ListBox() और @ Html.DropDownList() परिणाम देखें जैसा नहीं है <select>

मुझे इतना परिणाम मिलता है:

enter image description here

लेकिन, मुझे

enter image description here

मैं चुना नमूना बदल सकते हैं कैसे के रूप में परिणाम प्राप्त करना चाहते हैं?

+0

इसके लिए कोई jquery प्लगइन आज़माएं। –

+0

@ कुंदन सिंह चौहान, क्या आप कोई अन्य लिंक साझा कर सकते हैं? अन्य प्लगइन के लिए –

उत्तर

12

एकमात्र अंतर जो मैं हार्डकोडेड उदाहरण (जो आपने कहा है कि काम कर रहा है) के बीच देख सकता है और जो आप लिस्टबॉक्स हेल्पर के साथ उत्पन्न करते हैं वह data-placeholder विशेषता की अनुपस्थिति है। तो:

@Html.ListBox(
    "Countries", 
    ViewBag.Skills as MultiSelectList, 
    new { @class = "chzn-select", data_placeholder = "Choose a Country..." } 
) 

यह कम से कम उसी मार्कअप को उत्पन्न करना चाहिए जैसा आपने कहा था। यदि यह काम नहीं करता है तो शायद आपने प्लगइन को सही तरीके से सेटअप नहीं किया है या आपके पास कुछ अन्य जावास्क्रिप्ट त्रुटियां हैं। प्लगइन के दस्तावेज़ को पढ़ें कि इसे कैसे सेट किया जाना चाहिए।

+0

डेटा-प्लेसहोल्डर विशेषता ज्ञात नहीं है। और data_placeholder काम नहीं करता .. –

+2

फिर आपके पास प्लगइन सेट करने के साथ शायद कुछ अन्य समस्या है जिसमें एएसपी.नेट एमवीसी के साथ सख्ती से कुछ भी नहीं है। जहां तक ​​सर्वर साइड कोड का संबंध है, इसे आपके प्रश्न में जो दिखाया गया है, उसके लिए सख्ती से समतुल्य मार्कअप उत्पन्न करना चाहिए। यह भी ध्यान दें कि सर्वर पक्ष पर 'data_placeholder' का उपयोग करते समय, सहायक विशेषता को उत्पन्न करते समय सहायक इसे स्वचालित रूप से 'डेटा-प्लेसहोल्डर' में परिवर्तित कर देगा। –

0

अन्य दोस्तों के रूप में वर्णित है, ऐसा लगता है कि आपकी समस्या का कारण सर्वर-साइड (रेज़र) नहीं है, यह वास्तव में क्लाइंट-साइड है (संभवतया आपके Jquery प्लगइन प्रारंभिकरण)।

संभवतः जब एचटीएमएल डीओएम नामक प्लगइन प्रारंभिकता अभी तक उत्पन्न नहीं हुई है, तो शरीर के अंत में या $(document).ready() के अंदर अपनी प्लगइन प्रारंभिक स्क्रिप्ट डालें और यह देखने के लिए कंसोल पर नज़र डालना न भूलें कि कोई है या नहीं त्रुटियां

खुश कोडिंग

संबंधित मुद्दे