0

帮我解决这个问题。我正在使用 yii。

我的表中有一个名为 imei 的列 -> Mob

现在在我看来,我已经创建了 3 个基于同一张表上的相同字段 imei 的 activedropdown 列表 -> Mob。

但是值是不同的,即我在每个下拉列表中对十个值进行了分组。

所以用户可以从任何下拉列表中选择任何选项,它将被处理。

问题是当我单击按钮进行发布操作时,它只采用最后一个下拉列表值,如果没有选择最后一个列表值,那么它传递的是空值。

例如:我的“A”下拉列表包含 1,2,3 我的“B”下拉列表包含 4,5,6

当我通过 model->imei 发布操作和访问时,我只得到“B”下拉列表值。

我需要的是获得所选选项的值,而与顺序无关。如果选择了“A”列表值,则选择“A”。

如果两者都被选中,则为“B”。优先级从低到高。

你能帮我解决这个问题吗?

希望您清楚,还是错误的方法?告诉我更好的方法。

4

2 回答 2

0

我猜你已经设置了两个下拉列表的名称,然后表单已经提交,最后一个名称重复的字段的值将被发布。

解决方法:您可以为每个下拉列表设置单独的名称,如下例所示

<?php echo CHtml::dropDownList('Categories[A][]', '', $listData1, array('empty' => '(Select a category', '')); ?>

<?php echo CHtml::dropDownList('Categories[B][]', '', $listData2, array('empty' => '(Select a category', '')); ?>

提交表单后,您可以访问POST数组中的这些值

array 
  'Categories' => 
    array 
      'A' => 
        array 
          0 => string '1' (length=1) // selected value of drop down A
      'B' => 
        array
          0 => string '5' (length=1) // selected value of drop down B

取决于您想要的策略(哪个优先级更高),然后您可以处理它们。

于 2013-10-28T10:24:14.843 回答
0

我认为发生这种情况是因为您对三个下拉菜单使用相同的字段。尝试更改表单中下拉菜单的顺序并发布数据。我认为它会在您的表单中发布最后一个下拉值。原因是最后一个下拉值覆盖了先前选择的值。只是猜测而已。

于 2013-10-29T07:59:06.693 回答