我有两个字段,第一个被调用customer name
,另一个被调用customer id
。我该怎么做才能达到这样的效果,当我在第一个文本字段中输入客户名称时,第二个字段(可能是下拉列表)会在找到名称后立即显示他/她的 id。
那么,谁能给我一个实现这个目的的简单例子。非常感谢。
创建一个包含所有客户名称的一维数组,例如array('Bob', 'Sally', 'Fred');
然后您可以通过执行以下操作一起使用 CJuiAutoComplete 和 CHtml::dropDownList :
$this->widget('zii.widgets.jui.CJuiAutoComplete',array(
'attribute'=> 'Customer_name',
'model' => $model,
'sourceUrl' => array('customer/aclist2'),
'options'=>array(
'minLength'=>'1',
'select' => "js: function(event, ui){ $('#".CHtml::activeId($model, 'Customer_id').").val(ui.item.value); }"
),
'htmlOptions'=>array(
'style'=>'height:20px;',
),
));
echo CHtml::activeLabel($model, 'Customer_id');
echo CHtml::activeDropDownList(
$model,
'Customer_id',
CHtml::listData(Customer::model()->findAll(), 'Customer_name', 'Customer_id'
));
您将需要调整模型 (Customer) 和属性 (customer_name, customer_id) 的名称以匹配您的名称。用我自己的数据测试。