2012-06-15 62 views
2

我想要一个有两个下拉菜单的区域,它可以有效地决定使用哪个模型。我希望这个按钮带有一个onclick属性,基本上可以清除表单,并用新表单替换它,并基于新模型进行替换。Yii:用ajax动态加载新模型

有没有办法在Yii中做到这一点,或者更好的方法来实现这个功能?

+0

是的,这是基本的javascript/ajax。当选择更改时,向操作发送ajax请求,并根据select中的值请求新表单。 – adamors

回答

1

你可以使用或不使用ajax。

随着AJAX:

  1. 渲染相应地选择一个表单模型和形式的选择你的看法。
  2. 创建一个新动作,该动作将根据动作接收到的后置参数使用适当形式的json字符串编码进行响应。
  3. 在提交按钮单击事件处理程序中,发布到您希望收到的新动作。
  4. 在回调后,将您刚收到的新回复中的新表格换出。

没有Ajax:

  1. 渲染所有的表单模型视图。
  2. 让提交按钮事件处理程序显示并相应地隐藏表单。
+0

注意:您不必编写新的操作,因为根据请求方法是否为帖子,您可以采取不同的操作。 – Fydo

+0

这是我最终这样做的方式,除了我的辅助操作呈现了部分视图。如果我记得,我会发布我使用的代码。 –