这篇文章主要是对js动态添加删除,后台取数据(示例代码)进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
环境描述:就像你一般在论坛上发表文章,可能带附件,附件的数量是你手动添加删除的!! /************************************************************************ *** 添加审批表单模板 ************************************************************************/ // 增长的索引 var itemIndex = 1000; // 数量 var counter = 0; // 模板 var itemTemplate = ''; itemTemplate += '<div id="item_#itemIndex#" style="width: 100%;">'; itemTemplate += ' <span style="width: 80px">表单字段</span>'; itemTemplate += ' <input type="text" name="flowFormFieldCfgElement(#itemIndex#).name" style="width: 205px;"/>'; itemTemplate += ' 值类型 <select name="flowFormFieldCfgElement(#itemIndex#).valueType">'; itemTemplate += ' <option value="java.lang.String" selected>字符串</option>'; itemTemplate += ' <option value="java.lang.Integer">数字(整数)</option>'; itemTemplate += ' <option value="java.util.Date">日期(yyyy-MM-dd)</option>'; itemTemplate += ' </select>'; itemTemplate += ' <input type="button" class="btnDelItem" onclick="delItem(#itemIndex#)" value="删除">'; itemTemplate += '</div>';
// 添加 function addItem() { var s = itemTemplate.replace(/#itemIndex#/g, itemIndex); $("#divFormFields").append(s); itemIndex ++; counter ++; }
// 删除 function delItem(index) { $("#item_" + index).remove(); counter = counter - 1; }
public class FlowFormConfigActionForm extends ActionForm { private int id; private String name; private String processName;
private String formFillTemplatePath; private String formShowTemplatePath; private Map<String, FlowformFieldConfig> flowFormFieldCfgMap = new TreeMap<String, FlowformFieldConfig>();
/** 表单复杂属性 */ public FlowformFieldConfig getFlowFormFieldCfgElement(String key){ if(!flowFormFieldCfgMap.containsKey(key)){ flowFormFieldCfgMap.put(key, new FlowformFieldConfig()); } return flowFormFieldCfgMap.get(key); }
*U*****
public class FlowformFieldConfig { private int id; private String name; private Class<?> valueType;
主要要原理是:struts1.*在jsp显示的时候,会先从formbean里通过get***方法拿出属性的值!!
flowFormFieldCfgElement(#itemIndex#).name 这是核心,如果flowFormFieldCfgElement(#itemIndex#)为空的话,就会出错,所以在/** 表单复杂属性 */ public FlowformFieldConfig getFlowFormFieldCfgElement(String key){ if(!flowFormFieldCfgMap.containsKey(key)){ flowFormFieldCfgMap.put(key, new FlowformFieldConfig()); } return flowFormFieldCfgMap.get(key); } 做了判断!! 如果还有不懂的人可以给我留言!!
|