Yii-如何显示第二个下拉列表值

时间:2013-11-12 09:03:29

标签: javascript php jquery yii

我是Yii框架和Javascript的新手。现在,我正在为min_cost和max_cost使用两个下拉列表。我正在使用以下代码列出下拉列表中的值。

<?php 
$this->widget('ext.combobox.EJuiComboBox', array(
    'model' => $model,
    'attribute' => 'min_cost',
    'data' => Yii::app()->params['cost_min_resales'],
    'options' => array(
        'onSelect' => 'cost_change(item.value);',
        'allowText' => false,
    ),     
    'htmlOptions' => array('placeholder' => 'Min Cost', 'style'=>'width:70px'),
));
?>

</br>

<?php 
$this->widget('ext.combobox.EJuiComboBox', array(
    'model' => $model,
    'attribute' => 'max_cost',
    'data' =>Yii::app()->params['cost_max_resales'],
    'options' => array(                    
        'allowText' => false,
    ),
    'htmlOptions' => array('placeholder' => 'Max Cost', 'style'=>'width:70px'),
));                       
?>

为此,我使用以下脚本:

<script>
    function cost_change(price) {
        var removed;
        console.log("removed", removed);
        select = "#SearchForm_max_cost_select";
        var value = price;
        console.log("value", value);
        jQuery('#SearchForm_max_cost_select').prepend(removed);
        var toKeep = jQuery('#SearchForm_max_cost_select option').filter(function() {
            return parseInt(this.value) > parseInt(value);
        });

        console.log("to keep",toKeep);
        removed =  jQuery('#SearchForm_max_cost_select option').filter(function() {
            return parseInt(this.value) < parseInt(value);
        });           
    }
</script>  

现在,我想填充第二个下拉列表,其值大于第一个中选择的值。假设数组中有硬编码的值为(1,2,3,4,5)我从第一个下拉列表中选择2,那么所有大于2的值(即3,4,5)应该列在第二个下拉列表中。
上面的脚本运行正常。我可以看到日志中打印的第二个下拉列表的值。但是,我无法将此值传递给第二个下拉列表。我怎么能这样做。

编辑: 下面是我选择值时得到的对象的图像。 enter image description here

1 个答案:

答案 0 :(得分:0)

这会起作用,实际上我也遇到了同样的问题,但不知何故想出来了。

在您的控制器中只检查这种情况..

 if ($model->"yourdbid" == null) {
  $model->"yourdbid" = $_POST['yourdbid'];

}