Joomla!组件表单和jQuery来动态添加/删除字段的子集
Joomla! component form and jQuery to add/remove subset of fields dynamically
我有一个用于管理车间的Joomla组件,称为com_workshops及其相应的表jos_workshops。
然后我有了核心的com_users
组件及其jos_users
表。
我有一个链接表jos_works_users
,用于将用户与车间(N,N)关联起来。
我知道如何添加一个表单字段type="user",这样我就可以从用户模式视图中选择一个用户。
但我希望表单能够添加与一样多的表单字段类型
想要,并动态删除它们。我在考虑
jQuery (append(), clone(), remove() functions)
但不知道在Joomla里面是否可能!表单,以及如何执行。
我制作了一个类似的字段,尽管我使用了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应该:
- 当用户单击删除按钮时,删除一行(在mootools:row.dispose()中)
- 使最后一行可见,并在单击添加按钮时创建一个新的隐藏行
- 有一个方法可以从数据库加载以前的数据
- 在加载(选择用户id)和存储(将它们保存到数据库)时,将代码添加到表中
相关文章:
- 根据Select值添加/删除表行
- 添加/删除类淡入淡出不起作用
- p5.js声音库:如何添加/删除p5.第5页中的短语().零件()
- 在django表单集中添加/删除表单的Javascript
- 添加/删除子元素
- 添加/删除/更改输入文本的部分值
- jQuery - 添加删除类 - 设置输入值
- 向具有唯一Id的表添加/删除行
- DateTimePicker:函数从minDate maxDate添加删除日期
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 添加/删除类在 Chrome 中对我不起作用
- JQuery 测试元素是可见的还是隐藏的,然后添加删除类
- Jquery切换和添加/删除
- 克隆字段上的“添加-删除”按钮
- (X-Editable)与(Select2标签)不工作,可以't填充当前标签并跟踪添加/删除的标签
- 添加/删除要与Jquery进行比较的产品
- 添加/删除类并使用Cookie记住所选内容
- 如何使用延迟添加/删除类
- 如何根据数组内容添加/删除数组中的元素
- 单击单选按钮,添加/删除表单元素的类