如何将下拉列表的默认值设置为相关下拉列表的默认值

时间:2011-01-17 04:34:36

标签: cakephp

请有人帮忙解决以下问题:

我有3个相关的表

用户(id,name,network_id,application_id) 网络(id,name,application_id) 申请(身份证,姓名)

网络将选择默认应用程序(从app_id和名称为字段的应用程序列表中)。用户可以选择网络以及他们希望使用的应用程序(来自应用程序列表)。

我创建了模型,控制器和视图,并且所有下拉列表都显示正常,并允许我选择一个值但是如何将用户&gt;应用程序下拉列表的默认值设置为相应的网络&gt; application_id?< / p>

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

服务器端,即在Cake尝试添加所选参数,即:

echo $form->select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

$selected是默认选项的

客户端,你必须使用javascript。

答案 1 :(得分:1)

你永远不应该使用select(),text()或radio()等。这是一种可怕的做法。你应该使用input()

echo $form->input('', array('type'=>'select', 'label'=>'', 'options'=>$discipline, 'default'=>8));

其中type显示选择框,选项需要数组用于下拉列表,默认值为索引8

答案 2 :(得分:0)

echo $form->input('', array('type'=>'select', 'label'=>'', 'options'=>$option_list, 'value'=>7));

这里7是$ option_list中的关键值。

试试吧......

答案 3 :(得分:0)

我在变量$equipData['unit']中获取了值。以下代码适用于我:

echo $this->Form->input('unit_id',array('label' => false,'selected'=>$equipData['unit'],'options'=> $op_arr));