题
我对城市下拉菜单有问题。情况就是这样,我有3张桌子。即国家 /地区,城市,我能够为国家 /地区生成一个下拉菜单。.我也能够为城市生成下拉菜单,但是,当我将代码推到生产服务器上时,问题是白色由于过多的内存消耗,这是我的代码
//model
public function fetchCityName()
{
$connection = Yii::app()->db->createCommand("SELECT CityName from gg_t_worldareascities ORDER BY CityName ASC")->queryColumn();
return $connection;
}
//view
<?php
$this->widget('CAutoComplete', array(
'model' => $model,
'attribute' => 'cityID',
'data' => $model->fetchCityName(),
'multiple' => false,
'htmlOptions' => array('size' => 25),
));
?>
解决方案
请参阅此Wiki有关在yii中创建依赖性下拉词的Wiki:
http://www.yiiframework.com/wiki/24/creating-a-depperent-dropdown/
我认为您最好使用自动完成 - 文档在这里:
http://www.yiiframework.com/doc/api/1.1/cjuiautocomplete
它是广泛使用的jQuery UI自动完成。
其他提示
如果您有216,912 option
元素,应该为有更好的方法响起警钟:)
我可以建议吗?
- 可自动完成,以查询您的服务器使用AJAX。
- 首先选择邮政编码,然后显示匹配的郊区。
我不做yii,但是国家,州,城市之间应该有某种关系吗?没有人会选择台北之城,然后选择美国的CA作为国家和州。
对于各州和城市,我建议只有在用户选择国家/州之后,我建议通过JavaScript/Ajax获取可接受的选择。
不隶属于 StackOverflow