0

我需要将下拉列表放入我的 CDetailView 属性中,属性值来自数据库,如果用户选择值下拉列表将重定向到具有所选值的另一个页面。

任何人都可以知道如何做到这一点,需要快速指南

4

2 回答 2

2
<form>  <!-- A form to make the submit work. -->
<?php 
$profile = Profile::model()->findByPk(1);
$this->widget('zii.widgets.CDetailView', array(
    'data'=>$profile,
    'attributes'=>array('id','name',
        array(
            'label'=>'email addresses',
            'type'=>'raw',
            'value'=>CHtml::dropDownList('id', '', 
                CHtml::listData($profile->emails, 'id', 'value'),
                array(
                    'submit'=>['Site/Index'],
                    // 'onchange'=>'js:something'.  // You can trigger some javascript here instead of the submit - but it's more hassle if you ask me.
                    'prompt'=>'-- You\'ll need a prompt' // Because onchange wont fire for the initially selected item.
                )
            )
        ),
    ),
)); ?>
</form>
于 2013-06-11T01:06:55.450 回答
1

你可以这样做:

array(
    'label'=>'Custom Label',
    'type'=>'html',
    'value'=>'<select id="goToList">
        <option></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        </select>', // your HTML here
)

jQuery:

$(function() {
    $('#goToList').change(function() {
        window.location='http://www.google.com'; // or wherever
    });
});
于 2013-06-11T02:49:35.053 回答