【问题标题】:Joomla! component form and jQuery to add/remove subset of fields dynamicallyJoomla!组件表单和 jQuery 动态添加/删除字段子集
【发布时间】:2012-02-17 16:42:17
【问题描述】:

我有一个用于管理研讨会的 Joomla 组件,称为 com_workshops 及其对应的表 jos_workshops。

然后我有核心 com_users 组件,以及它的 jos_users 表。

我有一个链接表jos_works_users,以便将用户与研讨会 (N,N) 相关联。

我知道如何添加表单字段 type="user" 以便我可以从用户模式视图中选择用户。

但我希望表单能够像我一样添加尽可能多的表单字段类型

想要,并动态删除它们。我在考虑

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

但不知道在 Joomla 中是否有可能!形式,以及如何做。

【问题讨论】:

    标签: php javascript jquery joomla


    【解决方案1】:

    我做了一个类似的领域,虽然我使用了mootools。如果我是你,我会创建一个新的字段类型 (Joomla docs) 并使用 JHTML::script() 在页面中添加一些 javascript。您需要使用 jform[userids][] 之类的输入名称,以便浏览器可以传递用户 ID 数组。

    我的情况与你的情况不完全一样,但我就是这样做的:

    我的 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. 有一种方法可以从 DB 中加载以前的数据。
    4. 在加载(以选择您的用户 ID)和存储(以将它们保存到 db)中的表中添加代码。

    【讨论】:

      猜你喜欢
      • 2019-04-19
      • 2013-04-28
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      • 2023-03-09
      相关资源
      最近更新 更多