我是 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)都应列在第二个下拉列表中。
上面的脚本工作正常。我可以在日志中看到第二个下拉列表的值。但是,我无法将此值传递给第二个下拉列表。我怎样才能做到这一点。
编辑:下面是我选择 value 时得到的对象的图像。