【问题标题】:DropDown List issue in yiiyii中的下拉列表问题
【发布时间】:2013-10-28 09:49:21
【问题描述】:

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

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

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

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

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

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

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

当我通过模型发布操作和访问时->imei 仅获得“B”下拉列表值。

我需要的是获取所选选项的值,而不管顺序如何。如果选择了“A”列表值,则选择“A”。

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

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

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

【问题讨论】:

    标签: php drop-down-menu yii


    【解决方案1】:

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

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

    <?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
    

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

    【讨论】:

    • echo CHtml::activeDropDownList('A','', $model->getCategories(), array('prompt'=> '请选择'));我试过这样,但它给了我错误 Error 500 Trying to get property of non-object
    • 对不起,我没有提到我正在从数据库中获取值,所以我正在使用活动下拉列表
    • 我应该改变他们的名字。当您使用活动下拉列表时,您可以使用 setAttributes 并且值已为您自动设置,但在您的情况下,类别需要更多自定义,重要的是您必须捕获两个下拉列表的选定值并处理它们.您只需将这些下拉列表替换为新的,提交并转储 POST 以查看它会返回什么
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多