国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

自定義下拉菜單中的項(xiàng)目在Yii 2中無(wú)法正常運(yùn)行
P粉268284930
P粉268284930 2023-09-05 22:16:18
[PHP討論組]
<p>我正在Yii 2中創(chuàng)建自己的下拉列表函數(shù)。我創(chuàng)建了一個(gè)函數(shù)和一個(gè)視圖,在視圖中,我的下拉表單中有多個(gè)項(xiàng)目。</p> <pre class="brush:php;toolbar:false;">&lt;?= $form-&gt;customDropDown($dpForm, 'color', [ 'items' =&gt; [ 'label' =&gt; 'red', 'value' =&gt; 'red', 'options' =&gt; [ 'style' =&gt; 'color: red' ] ] [ 'label' =&gt; 'blue', 'value' =&gt; 'blue', 'options' =&gt; [ 'style' =&gt; 'color: blue' ] ] ] </pre> <p>我創(chuàng)建的函數(shù)如下(它使用并位于ActiveForm中):</p> <pre class="brush:php;toolbar:false;"> public function customDropdown($model, $attribute, $items = [], $options = []) { $value = Html::getAttributeValue($model, $attribute); $field = $this-&gt;field($model, $attribute, $options); return $this-&gt;staticOnly ? $field : $field-&gt;dropDownList($items); } </pre> <p>問(wèn)題是,當(dāng)我打開(kāi)我的下拉列表時(shí),所有的東西都是一個(gè)選項(xiàng)或一個(gè)選項(xiàng)組,而不僅僅是帶有標(biāo)簽和樣式的選項(xiàng)。</p> <p>在<em>Inspector</em>中的顯示效果如下:</p> <pre class="brush:html;toolbar:false;">&lt;optgroup label='0'&gt; &lt;option value=&quot;label&quot;&gt;red&lt;/option&gt; &lt;option value=&quot;value&quot;&gt;red&lt;/option&gt; &lt;/optgroup&gt; &lt;optgroup label=&quot;options&quot;&gt; &lt;option value=&quot;style&quot;&gt;color: red&lt;/option&gt; &lt;/optgroup&gt; </pre> <p>以此類(lèi)推。我想要的效果如下:</p> <pre class="brush:html;toolbar:false;">&lt;option value=&quot;red&quot; style=&quot;color: red&quot;&gt;red&lt;/option&gt; </pre> <p>但是我似乎無(wú)法實(shí)現(xiàn)這個(gè)效果。</p>
P粉268284930
P粉268284930

全部回復(fù)(1)
P粉801904089

為了實(shí)現(xiàn)所需的輸出,其中下拉列表中的每個(gè)項(xiàng)目都由一個(gè)具有指定標(biāo)簽、值和樣式的單個(gè)<option>標(biāo)簽表示,您需要按照以下方式修改您的代碼: 在您的視圖文件中,更新customDropDown函數(shù)調(diào)用以正確傳遞items數(shù)組:

<?= $form->customDropDown($dpForm, 'color', [
        [
            'label' => 'red',
            'value' => 'red',
            'options' => [
                'style' => 'color: red'
            ]
        ],
        [
            'label' => 'blue',
            'value' => 'blue',
            'options' => [
                'style' => 'color: blue'
            ]
        ],
    ]
); ?>
更新的方法:
public function customDropdown($model, $attribute, $items = [], $options = [])
{
    $value = Html::getAttributeValue($model, $attribute);

    $field = $this->field($model, $attribute);

    $options['options'] = array_column($items, 'options');
    $options['prompt'] = '';

    return $this->staticOnly ? $field : $field->dropDownList(array_column($items, 'label', 'value'), $options);
}
在這個(gè)更新的版本中,我們直接將$options數(shù)組傳遞給dropDownList方法,并使用array_column從$items數(shù)組中提取標(biāo)簽-值對(duì)
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線(xiàn)php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)