0

我有两个字段,第一个被调用customer name,另一个被调用customer id。我该怎么做才能达到这样的效果,当我在第一个文本字段中输入客户名称时,第二个字段(可能是下拉列表)会在找到名称后立即显示他/她的 id。

那么,谁能给我一个实现这个目的的简单例子。非常感谢。

4

1 回答 1

0

创建一个包含所有客户名称的一维数组,例如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) 的名称以匹配您的名称。用我自己的数据测试。

于 2013-05-18T21:40:56.267 回答