2015-08-25 8 views
6

मैं सेमेन्टिक यूआई फ्रेमवर्क का उपयोग करके एक वेब पेज बनाने पर काम कर रहा हूं। मैं यूआई ढांचे और jquery दोनों के लिए नया हूँ। मैं उपयोगकर्ता के लिए भूमिकाओं का चयन करने के लिए एक बहु चयन ड्रॉपडाउन घटक का उपयोग कर रहा हूं। मैं ड्रॉपडाउन को लागू करने और मूल्यों का चयन करने में सक्षम हूं।अर्थपूर्ण यूआई: मल्टी सिलेक्ट ड्रॉपडाउन प्री-सिलेक्ट वैल्यू

लेकिन क्या कोई मुझे ड्रॉपडाउन में डिफ़ॉल्ट मान (पूर्व-चयनित) सेट करने में मदद कर सकता है? मैंने here निर्दिष्ट व्यवहारों का प्रयास किया है, लेकिन किसी भी तरह से इसे काम पर नहीं मिल सकता है। क्या मैं यहाँ कुछ याद कर रहा हूँ?

यहां fiddle और कोड है।

मेरे एचटीएमएल:

<div class="twelve wide field"> 
    <label style="width: 250px">Add roles to user</label> 
    <select name="skills" multiple="" class="ui fluid dropdown"> 
     <option value="">Roles</option> 
     <option value="Role1">Role 1</option> 
     <option value="Role2">Role 2</option> 
     <option value="Role3">Role 3</option> 
    </select> 
</div> 

मेरे जावास्क्रिप्ट:

$(".ui.fluid.dropdown").dropdown({ allowLabels:true}) 
$('.ui.fluid.dropdown').dropdown({'set selected': 'Role1,Role2'}); 

इसके अलावा, मैं जावास्क्रिप्ट में एक चर के मूल्यों लाने में मदद मिल सकती है?

उत्तर

13

आपका वाक्यविन्यास थोड़ा दूर है। इस प्रयास करें:

$('.ui.fluid.dropdown').dropdown('set selected',['Role1','Role2']); 
+0

ओह शांत। वह आसान था। धन्यवाद। – Phanikanth

+1

महत्वपूर्ण विवरण (जिसे मैंने उजागर करने के साथ टाइल किया था) को '.dropdown() 'के साथ' select' प्रारंभ करना नहीं था क्योंकि चयनित मानों को सेट करने के बाद बाद में काम नहीं किया जाता है। – Saran

+0

धन्यवाद! हैंडलबार्स के लिए छोटा स्निपेट: $ ('। Ui.dropdown')। ड्रॉपडाउन ('चयनित सेट', [{{# प्रत्येक टैग}} '{{यह}}', {{/ प्रत्येक}}]; – Flaudre

0

मान जोड़ें (<option selected="selected">) लटकती सब के बारे में अर्थ का चयन करें:

$("select").each(function(){ 
      var $that = $(this); 
      var values = $that.val(); 
      $("option", $that).each(function(){ 
       $(this).removeAttr("selected"); 
      }); 
      $that.dropdown('set selected', values); 
      $("option", $that).each(function(){ 
       var curr_value = $(this).val(); 
       for(var i = 0; i < values; i++){ 
        if(values[i] == curr_value){ 
         $(this).attr('selected','selected'); 
        } 
       } 
      }); 
     }); 
+0

के साथ कैसे कर सकता हूं क्या आपको लगता है कि आपका समाधान मौजूदा उत्तर में नई गुणवत्ता जोड़ता है? यह लंबा रास्ता और रास्ता अधिक जटिल है। –

+0

यह एकमात्र समाधान है जब मैंने पाया है कि मेरे पास कई विकल्प हैं –

+0

ठीक है, अगर आपको लगता है कि आपके समाधान की आवश्यकता है तो यह ठीक है। लेकिन फिर आपको एक पूर्ण और गुणवत्ता के उत्तर का उत्पादन करने के लिए अपने कोड को समझाना होगा, –

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