2012-06-15 66 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

這是我最終這樣做的方式,除了我的輔助操作呈現了部分視圖。如果我記得,我會發布我使用的代碼。 –