2015-09-11 3 views
7

Yii2 में, Html::activeDropDownList का उपयोग कर, मैं निम्नलिखित की तरह एक के रूप में डेटा सबमिट कर सकते हैं:Yii2 एचटीएमएल :: DropDownList और एचटीएमएल :: activeDropDownList व्यापार बंद

<?= Html::activeDropDownList($model, 'category', ArrayHelper::map($categories, 'id', 'name'), [ 
     'multiple' => 'multiple', 
     'class' => 'multiselect', 
]) ?> 

वहाँ पूर्व चयनित श्रेणियों निर्दिष्ट करने के लिए एक रास्ता है ऊपरोक्त में? मैं जानता हूँ कि यह Html::dropDownLost निम्नलिखित की तरह उपयोग किया जा सकता:

<?= Html::dropDownList('category', [1, 3, 5], ArrayHelper::map($categories, 'id', 'name'), [ 
    'multiple' => 'multiple', 
    'class' => 'multiselect', 
]) ?> 

लेकिन वहाँ एक व्यापार बंद है! यह इंगित करने के लिए कोई जगह नहीं है कि Html::activeDropDownList का उपयोग कर रहे एक निश्चित मॉडल से सबमिट करने के लिए यह कुछ डेटा संलग्न है।

<?= $form->field($model, 'category') 
     ->dropDownList('category', [1, 3, 5], ArrayHelper::map($categories, 'id', 'name') 
]) ?> 
समस्या मुझे लगता है कि अंतिम विकल्प के साथ है

है कि मैं इस तरह के 'कई' और के रूप में एचटीएमएल विकल्प निर्दिष्ट नहीं पा रहा हूँ:

समाधान मैंने पाया में से एक की तरह निम्नलिखित ActiveForm का उपयोग किया गया सीएसएस जैसे 'वर्ग'।

यह निर्दिष्ट करने की क्षमता के साथ ड्रॉप डाउन सूची का उपयोग करने में सक्षम होने पर कोई मदद है कि सूची बहुविकल्पीय हो और पूर्व-चयनित मान हो? अगर किसी ने मुझे संसाधन के लिए निर्देशित किया जहां मैं activeDropDownList या dropDownList चुनने के लिए कहां और कहां पढ़ सकता हूं, तो मैं वास्तव में इसकी सराहना करता हूं।

धन्यवाद!

उत्तर

5

@scaisEdge के जवाब सही है लेकिन वहाँ एक और विकल्प आप की कोशिश कर सकते है:

<?php 
$model->category = [1,3,5]; //pre-selected values list 
echo $form->field($model, 'category') 
    ->dropDownList(ArrayHelper::map($categories, 'id', 'name'), 
     [ 
      'multiple' => 'multiple', 
      'class' => 'YOUR_CLASS' 
     ] 
) ?> 

यह कोड भी मान्य और परीक्षण किया जाता है। हैप्पी कोडिंग :)

+0

यह साफ है और मैं क्या चाहता था .. धन्यवाद @ankitraturi – intumwa

+0

आप उत्तर स्वीकार कर सकते हैं – ankitr

6

मुझे लगता है कि आप की तरह $ के साथ विकल्प कोशिश करते हैं और tag attribute कर सकते हैं सुझाव दिया in doc

<?= Html::dropDownList('category', [1, 3, 5], ArrayHelper::map($categories, 'id', 'name'), [ 
    'multiple' => 'multiple', 
    'options' => [ 
     'value1' => ['disabled' => true, 'class' => 'yourClass', 'style'=> 'yourStyle', .... ], 
     'value2' => ['label' => 'value 2'], 
    ]; 
]) ?> 
+0

उपरोक्त स्निपेट एक चीज़ को छोड़कर मैं चाहता था: यह मेरे मॉडल को डेटा संलग्न नहीं करता है। @ अंकितातुरी का जवाब सही है! हालांकि आपके समय के लिए धन्यवाद! – intumwa

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