如何在下拉列表更改时更新两个文本字段

Posted

技术标签:

【中文标题】如何在下拉列表更改时更新两个文本字段【英文标题】:How to Update two text fields onchange of a dropdown list 【发布时间】:2012-06-07 14:37:45 【问题描述】:

我正在使用 yii 框架构建一个网络应用程序。我有一个下拉列表,我正在调用一个操作并使用 ajax 数组 'update'=>'#price' 字段更新一个 div 标签。代码工作正常,它会更新价格 div。

但我想像这样更新两个字段,我尝试将数组传递给更新字段。但它没有用。

知道如何使用一个操作调用更新两个 div 标签并显示两个值吗?

这是我的代码..

 echo Chtml::beginForm();
 echo CHtml::dropDownList('amount_'.$position,'', array(1=>1,2=>2,3=>3),
 array(
 'ajax' => array(
     'type'=>'POST', 
 'url'=>CController::createUrl('shoppingCart/updateAmount'), 
     'update'=>'#price_'.$position, //selector to update
  ))); 
  echo CHtml::endForm();

在我的行动中,我只是在呼应

echo 'LKR '.Shop::priceFormat(@$product->getPrice($cart[$position]['Variations'], $value));

如果有人能帮忙就太好了。

【问题讨论】:

【参考方案1】:

它只是一个 jQuery 选择器。我相信你可以使用逗号来表示几个 id。或者您可以使用类选择器。 (我认为这里的类选择器会更好)

'ajax' => array(
    /* ... */
    'update' => '#price_1, #price_2, #price_3',
    /* or */
    'update' => '.price'
)

【讨论】:

我对 JQuery 有点陌生......在这种情况下,在我的行动中,你怎么能给出两个值?因为我只回应一个.... 例如...如果我想给价格一个值而总价另一个...我如何在我的行动中处理它? 如果您需要用不同的值更新不同的 div,那么您需要成功回调您的 ajax 调用并从您的 Yii 操作中返回 json。 Update 在这种情况下不起作用。检查jQuery ajax。

以上是关于如何在下拉列表更改时更新两个文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在下拉列表中添加文本字段自动建议?

当并行用户输入文本字段值更改下拉值时,应自动更改

(Django)如何在更改外键下拉列表后使“选定”选项有效?

单击按钮时如何防止下拉列表在更新面板中回发或更新

如何在下拉列表更改时使用 jQuery 清除 TextBox

如何在不加载视图的情况下重新加载/刷新部分视图中的级联下拉列表