我需要将下拉列表放入我的 CDetailView 属性中,属性值来自数据库,如果用户选择值下拉列表将重定向到具有所选值的另一个页面。
任何人都可以知道如何做到这一点,需要快速指南
<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>
你可以这样做:
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
});
});