2012-02-15 133 views
0

我有一個Joomla組件用於管理研討會,名爲com_workshops及其相應的表jos_workshops。Joomla!組件形式和jQuery動態添加/刪除字段的子集

然後我有核心com_users組件,其jos_users表。

我有一個鏈接表,jos_works_users爲了將用戶關聯到研討會(N,N)。

我知道如何添加一個表單字段type =「user」,這樣我可以從用戶模式視圖中選擇一個用戶。

但我想的形式可以添加儘可能多的表單字段類型,像這一個,因爲我

想,並把它們去除動態。我在想

jQuery (append(), clone(), remove() functions) 

但不知道是否有可能一個Joomla裏面!形式,以及如何去做。

回答

0

我做了一個類似的領域,雖然我用了mootools。如果我是你,我會創建一個新的字段類型(Joomla docs),並使用JHTML :: script()向頁面添加一些javascript。您需要使用像jform [userids] []這樣的輸入名稱,以便瀏覽器可以傳遞一組用戶標識。

我的情況下,並不是那麼喜歡你,但其實這就是我是如何做的:

我的HTML看起來像這樣(請注意,它有每行有兩個文本字段):

<div id="ingredientList1"> 
    <div class="ingredient-row"> 
     <div class="delete"></div> 
     <input type="text" class="amountField" style="display: block; " name="jform[ingredientAmounts][]"> 
     <input type="text" class="nameField" style="display: block; " name="jform[ingredients][]"> 
    </div> 
    <div class="ingredient-row"> 
     <div class="delete"></div> 
     <input type="text" class="amountField" style="display: block; " name="jform[ingredientAmounts][]"> 
     <input type="text" class="nameField" style="display: block; " name="jform[ingredients][]"> 
    </div> 
    <div class="ingredient-row"> 
     <div class="add"></div> 
     <input type="text" class="amountField" style="display: none; "> 
     <input type="text" class="nameField" style="display: none; "> 
    </div> 
</div> 

您的javascript應該:

  1. 當用戶單擊刪除按鈕時刪除一行(在mootools:row.dispose())。
  2. 當點擊添加按鈕時,使最後一行可見並創建一個新的隱藏區域。
  3. 有一種方法可以從數據庫加載以前的數據。
  4. 將代碼添加到您的表中(選擇您的用戶id)並存儲(將它們保存到db)。
相關問題