jformonetomany.ftl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. <div id="${sub}_area">
  2. <#if data['${sub}']?exists&&(data['${sub}']?size>0) >
  3. <div name="items">
  4. <#list data['${sub}'] as subTableData>
  5. <li>
  6. <div class="alert alert-info" role="alert">
  7. ${field['${sub}'].head.content?if_exists?html}(<span name="index">${subTableData_index+1}</span>)
  8. <button type="button" class="btn btn-default btn-sm active" name="${sub}_delBtn" style="float:right;margin-top:-5px;">删除</button>
  9. </div>
  10. </li>
  11. <input type="hidden" name="${sub}[${subTableData_index}].id" id="${sub}[${subTableData_index}].id" value="${subTableData['id']?if_exists?html}"/>
  12. <#list field['${sub}'].hiddenFieldList as subTableField >
  13. <input type="hidden" name="${sub}[${subTableData_index}].${subTableField.field_name}" id="${sub}[${subTableData_index}].${subTableField.field_name}" value="${subTableData['${subTableField.field_name}']?if_exists?html}"/>
  14. </#list>
  15. <#list field['${sub}'].fieldList as subTableField >
  16. <#if subTableField.show_type=='text'>
  17. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="name" reqd="1">
  18. <label class="desc">${subTableField.content}:<#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  19. <div class="content">
  20. <input
  21. type="text"
  22. maxlength="256"
  23. class="ui-input-text xl input fld"
  24. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  25. id="${sub}[${subTableData_index}].${subTableField.field_name}"
  26. ${subTableField.extend_json?if_exists}
  27. value="${subTableData['${subTableField.field_name}']?if_exists?html}"
  28. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  29. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  30. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  31. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  32. <#if subTableField.field_valid_type?if_exists?html != ''>
  33. datatype="${subTableField.field_valid_type?if_exists?html}"
  34. <#else>
  35. <#if subTableField.type == 'int'>
  36. datatype="n" <#if subTableField.is_null == 'Y'>ignore="ignore" </#if>
  37. <#elseif subTableField.type=='double'>
  38. datatype="/^(-?\d+)(\.\d+)?$/" <#if subTableField.is_null == 'Y'>ignore="ignore" </#if>
  39. <#else>
  40. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  41. </#if>
  42. </#if>
  43. />
  44. </div>
  45. </li>
  46. <#elseif subTableField.show_type=='password'>
  47. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="password" reqd="1">
  48. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  49. <div class="content">
  50. <input
  51. type="text"
  52. maxlength="256"
  53. class="ui-input-text xl input fld"
  54. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  55. id="${sub}[${subTableData_index}].${subTableField.field_name}"
  56. ${subTableField.extend_json?if_exists}
  57. value="${subTableData['${subTableField.field_name}']?if_exists?html}"
  58. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  59. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  60. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  61. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  62. <#if subTableField.field_valid_type?if_exists?html != ''>
  63. datatype="${subTableField.field_valid_type?if_exists?html}"
  64. <#else>
  65. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  66. </#if>
  67. />
  68. </div>
  69. </li>
  70. <#elseif subTableField.show_type=='radio'>
  71. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="radio" reqd="1">
  72. <label class="desc">${subTableField.content}:<#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  73. <div class="content">
  74. <fieldset class="controlgroup">
  75. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  76. <#list dataList as dictdata>
  77. <label <#if dictdata_index==0>class="first"</#if>>
  78. <input
  79. value="${dictdata.typecode?if_exists?html}"
  80. ${subTableField.extend_json?if_exists}
  81. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  82. type="radio"
  83. <#if dictdata_index==0&&subTableField.is_null != 'Y'>datatype="*"</#if>
  84. <#if subTableField.operationCodesReadOnly?if_exists>onclick="return false;"</#if>
  85. <#if dictdata.typecode?if_exists?html=="${subTableData['${subTableField.field_name}']?if_exists?html}"> checked="true</#if>
  86. /><label></label>${dictdata.typename?if_exists?html}
  87. </label>
  88. </#list>
  89. </@DictData>
  90. </fieldset>
  91. </div>
  92. </li>
  93. <#elseif subTableField.show_type=='checkbox'>
  94. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="radio" reqd="1">
  95. <label class="desc">${subTableField.content}:<#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  96. <div class="content">
  97. <fieldset class="controlgroup">
  98. <#assign checkboxstr>${subTableData['${subTableField.field_name}']?if_exists?html}</#assign>
  99. <#assign checkboxlist=checkboxstr?split(",")>
  100. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  101. <#list dataList as dictdata>
  102. <label <#if dictdata_index==0>class="first"</#if>>
  103. <input
  104. value="${dictdata.typecode?if_exists?html}"
  105. ${subTableField.extend_json?if_exists}
  106. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  107. type="checkbox"
  108. <#if subTableField.operationCodesReadOnly?if_exists>onclick="return false;"</#if>
  109. <#if dictdata_index==0&&subTableField.is_null != 'Y'>datatype="*"</#if>
  110. <#list checkboxlist as x >
  111. <#if dictdata.typecode?if_exists?html=="${x?if_exists?html}"> checked="true" </#if>
  112. </#list>
  113. /><label></label>${dictdata.typename?if_exists?html}
  114. </label>
  115. </#list>
  116. </@DictData>
  117. </fieldset>
  118. </div>
  119. </li>
  120. <#elseif subTableField.show_type=='list'>
  121. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="list">
  122. <label class="desc">${subTableField.content}:<#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  123. <div class="content">
  124. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  125. <select
  126. id="${sub}[${subTableData_index}].${subTableField.field_name}"
  127. ${subTableField.extend_json?if_exists}
  128. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  129. <#if subTableField.operationCodesReadOnly?if_exists>
  130. onfocus="this.defOpt=this.selectedIndex" onchange="this.selectedIndex=this.defOpt;"</#if><#if subTableField.is_null != 'Y'>datatype="*"
  131. </#if>
  132. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  133. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  134. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  135. class="ui-input-select province fld"
  136. >
  137. <#list dataList as dictdata>
  138. <option
  139. value="${dictdata.typecode?if_exists?html}"
  140. <#if dictdata.typecode?if_exists?html=="${subTableData['${subTableField.field_name}']?if_exists?html}">
  141. selected="selected"
  142. </#if>>${dictdata.typename?if_exists?html}
  143. </option>
  144. </#list>
  145. </select>
  146. </@DictData>
  147. </div>
  148. </li>
  149. <#elseif subTableField.show_type=='date'>
  150. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="date" reqd="1">
  151. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  152. <div class="content">
  153. <input
  154. type="text"
  155. maxlength="256"
  156. class="ui-input-text xl input fld"
  157. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  158. id="${sub}[${subTableData_index}].${subTableField.field_name}"
  159. ${subTableField.extend_json?if_exists}
  160. value="${subTableData['${subTableField.field_name}']?if_exists?html}"
  161. onClick="WdatePicker({<#if subTableField.operationCodesReadOnly?if_exists> readonly = true</#if>})"
  162. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  163. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  164. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  165. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  166. <#if subTableField.field_valid_type?if_exists?html != ''>
  167. datatype="${subTableField.field_valid_type?if_exists?html}"
  168. <#else>
  169. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  170. </#if>
  171. />
  172. </div>
  173. </li>
  174. <#elseif subTableField.show_type=='datetime'>
  175. <li id="${sub}[${subTableData_index}].${subTableField.field_name}" class="clearfix " typ="date" reqd="1">
  176. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  177. <div class="content">
  178. <input
  179. type="text"
  180. maxlength="256"
  181. class="ui-input-text xl input fld"
  182. name="${sub}[${subTableData_index}].${subTableField.field_name}"
  183. id="${sub}[${subTableData_index}].${subTableField.field_name}"
  184. ${subTableField.extend_json?if_exists}
  185. value="${subTableData['${subTableField.field_name}']?if_exists?html}"
  186. onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'<#if subTableField.operationCodesReadOnly?if_exists> readonly = true</#if>})"
  187. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  188. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  189. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  190. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  191. <#if subTableField.field_valid_type?if_exists?html != ''>
  192. datatype="${subTableField.field_valid_type?if_exists?html}"
  193. <#else>
  194. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  195. </#if>
  196. />
  197. </div>
  198. </li>
  199. </#if>
  200. </#list>
  201. </#list>
  202. </div>
  203. <#else>
  204. <div name="items">
  205. <li>
  206. <div class="alert alert-info" role="alert">
  207. ${field['${sub}'].head.content?if_exists?html}(<span name="index">1</span>)
  208. <button type="button" class="btn btn-default btn-sm active" name="${sub}_delBtn" style="float:right;margin-top:-5px;">删除</button>
  209. </div>
  210. </li>
  211. <input type="hidden" name="${sub}[0].id" id="${sub}[0].id" />
  212. <#list field['${sub}'].hiddenFieldList as subTableField >
  213. <input type="hidden" name="${sub}[0].${subTableField.field_name}" id="${sub}[0].${subTableField.field_name}"/>
  214. </#list>
  215. <#list field['${sub}'].fieldList as subTableField >
  216. <#if subTableField.show_type=='text'>
  217. <li id="${sub}[0].${subTableField.field_name}" class="clearfix " typ="name" reqd="1">
  218. <label class="desc">${subTableField.content}:<#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  219. <div class="content">
  220. <input
  221. type="text"
  222. maxlength="256"
  223. class="ui-input-text xl input fld"
  224. name="${sub}[0].${subTableField.field_name}"
  225. id="${sub}[0].${subTableField.field_name}"
  226. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  227. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  228. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  229. ${subTableField.extend_json?if_exists}
  230. <#if subTableField.field_valid_type?if_exists?html != ''>
  231. datatype="${subTableField.field_valid_type?if_exists?html}"
  232. <#else>
  233. <#if subTableField.type == 'int'>
  234. datatype="n" <#if subTableField.is_null == 'Y'>ignore="ignore" </#if>
  235. <#elseif subTableField.type=='double'>
  236. datatype="/^(-?\d+)(\.\d+)?$/" <#if subTableField.is_null == 'Y'>ignore="ignore" </#if>
  237. <#else>
  238. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  239. </#if>
  240. </#if>
  241. />
  242. </div>
  243. </li>
  244. <#elseif subTableField.show_type=='password'>
  245. <li id="${sub}[0].${subTableField.field_name}" class="clearfix " typ="password" reqd="1">
  246. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  247. <div class="content">
  248. <input
  249. type="text"
  250. maxlength="256"
  251. class="ui-input-text xl input fld"
  252. name="${sub}[0].${subTableField.field_name}"
  253. id="${sub}[0].${subTableField.field_name}"
  254. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  255. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  256. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  257. ${subTableField.extend_json?if_exists}
  258. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  259. <#if subTableField.field_valid_type?if_exists?html != ''>
  260. datatype="${subTableField.field_valid_type?if_exists?html}"
  261. <#else>
  262. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  263. </#if>
  264. />
  265. </div>
  266. </li>
  267. <#elseif subTableField.show_type=='radio'>
  268. <li id="${subTableField.dict_field?if_exists?html}" class="clearfix " typ="radio" reqd="1">
  269. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  270. <div class="content">
  271. <fieldset class="controlgroup">
  272. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  273. <#list dataList as dictdata>
  274. <label <#if dictdata_index==0>class="first"</#if>>
  275. <input
  276. value="${dictdata.typecode?if_exists?html}"
  277. ${subTableField.extend_json?if_exists}
  278. name="${sub}[0].${subTableField.field_name}"
  279. type="radio"
  280. <#if dictdata_index==0&&subTableField.is_null != 'Y'>datatype="*"</#if>
  281. <#if subTableField.operationCodesReadOnly?if_exists>onclick="return false;"</#if>
  282. /><label></label>${dictdata.typename?if_exists?html}
  283. </label>
  284. </#list>
  285. </@DictData>
  286. </fieldset>
  287. </div>
  288. </li>
  289. <#elseif subTableField.show_type=='checkbox'>
  290. <li id="${subTableField.dict_field?if_exists?html}" class="clearfix " typ="radio" reqd="1">
  291. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  292. <div class="content">
  293. <fieldset class="controlgroup">
  294. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  295. <#list dataList as dictdata>
  296. <label <#if dictdata_index==0>class="first"</#if>>
  297. <input
  298. value="${dictdata.typecode?if_exists?html}"
  299. ${subTableField.extend_json?if_exists}
  300. name="${sub}[0].${subTableField.field_name}"
  301. type="checkbox"
  302. <#if subTableField.operationCodesReadOnly?if_exists>onclick="return false;"</#if>
  303. <#if dictdata_index==0&&subTableField.is_null != 'Y'>datatype="*"</#if>
  304. /><label></label>${dictdata.typename?if_exists?html}
  305. </label>
  306. </#list>
  307. </@DictData>
  308. </fieldset>
  309. </div>
  310. </li>
  311. <#elseif subTableField.show_type=='list'>
  312. <li id="${sub}[0].${subTableField.field_name}" class="clearfix " typ="list">
  313. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  314. <div class="content">
  315. <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList">
  316. <select
  317. id="${sub}[0].${subTableField.field_name}"
  318. ${subTableField.extend_json?if_exists}
  319. name="${sub}[0].${subTableField.field_name}"
  320. <#if subTableField.operationCodesReadOnly?if_exists>
  321. onfocus="this.defOpt=this.selectedIndex" onchange="this.selectedIndex=this.defOpt;"</#if><#if subTableField.is_null != 'Y'>datatype="*"
  322. </#if>
  323. class="ui-input-select province fld"
  324. >
  325. <#list dataList as dictdata>
  326. <option
  327. value="${dictdata.typecode?if_exists?html}"
  328. <#if dictdata.typecode?if_exists?html=="${subTableData['${subTableField.field_name}']?if_exists?html}">
  329. selected="selected"
  330. </#if>>${dictdata.typename?if_exists?html}
  331. </option>
  332. </#list>
  333. </select>
  334. </@DictData>
  335. </div>
  336. </li>
  337. <#elseif subTableField.show_type=='date'>
  338. <li id="${sub}[0].${subTableField.field_name}" class="clearfix " typ="date" reqd="1">
  339. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  340. <div class="content">
  341. <input
  342. type="text"
  343. maxlength="256"
  344. class="ui-input-text xl input fld"
  345. name="${sub}[0].${subTableField.field_name}"
  346. id="${sub}[0].${subTableField.field_name}"
  347. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  348. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  349. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  350. ${subTableField.extend_json?if_exists}
  351. onClick="WdatePicker({<#if subTableField.operationCodesReadOnly?if_exists> readonly = true</#if>})"
  352. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  353. <#if subTableField.field_valid_type?if_exists?html != ''>
  354. datatype="${subTableField.field_valid_type?if_exists?html}"
  355. <#else>
  356. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  357. </#if>
  358. />
  359. </div>
  360. </li>
  361. <#elseif subTableField.show_type=='datetime'>
  362. <li id="${sub}[0].${subTableField.field_name}" class="clearfix " typ="date" reqd="1">
  363. <label class="desc">${subTableField.content}: <#if subTableField.is_null != 'Y'><span class="req">*</span></#if></label>
  364. <div class="content">
  365. <input
  366. type="text"
  367. maxlength="256"
  368. class="ui-input-text xl input fld"
  369. name="${sub}[0].${subTableField.field_name}"
  370. id="${sub}[0].${subTableField.field_name}"
  371. <#-- update--begin--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  372. <#if subTableField.field_must_input?if_exists?html != ''><#if subTableField.field_must_input == 'Y' || subTableField.is_null != 'Y'>ignore="checked"<#else>ignore="ignore"</#if><#elseif subTableField.is_null != "Y">ignore="checked"<#else>ignore="ignore"</#if>
  373. <#-- update--end--author:zhangjiaqiang Date:20170417 for:增加校验必填项 -->
  374. ${subTableField.extend_json?if_exists}
  375. onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'<#if subTableField.operationCodesReadOnly?if_exists> readonly = true</#if>})"
  376. <#if subTableField.operationCodesReadOnly?exists> readonly = "readonly"</#if>
  377. <#if subTableField.field_valid_type?if_exists?html != ''>
  378. datatype="${subTableField.field_valid_type?if_exists?html}"
  379. <#else>
  380. <#if subTableField.is_null != 'Y'>datatype="*"</#if>
  381. </#if>
  382. />
  383. </div>
  384. </li>
  385. </#if>
  386. </#list>
  387. </div>
  388. </#if>
  389. </div>
  390. <li>
  391. <button type="button" class="btn btn-primary btn-lg btn-block" id="${sub}_addBtn">添加${field['${sub}'].head.content?if_exists?html}</button>
  392. </li>
  393. <script type="text/javascript">
  394. $(function(){
  395. $("#${sub}_addBtn").click(function(){
  396. var div = $("#add_${sub}_template").html();
  397. $("#${sub}_area").append(div);
  398. resetNum${sub}("${sub}_area");
  399. $("button[name='${sub}_delBtn']").die().live('click',function(){
  400. $(this).parent().parent().parent().remove();
  401. resetNum${sub}("${sub}_area");
  402. });
  403. });
  404. $("button[name='${sub}_delBtn']").click(function(){
  405. $(this).parent().parent().parent().remove();
  406. resetNum${sub}("${sub}_area");
  407. });
  408. });
  409. function resetNum${sub}(subid) {
  410. $("#"+subid+" div[name=items]").each(function(i){
  411. var $this = $(this);
  412. $this.find("span[name='index']").html(i+1);
  413. $this.find('input, select').each(function(){
  414. var $cthis = $(this), name = $cthis.attr('name'), val = $this.val();
  415. if(name!=null){
  416. if (name.indexOf("#index#") >= 0){
  417. $cthis.attr("name",name.replace('#index#',i));
  418. }else{
  419. var s = name.indexOf("[");
  420. var e = name.indexOf("]");
  421. var new_name = name.substring(s+1,e);
  422. $cthis.attr("name",name.replace(new_name,i));
  423. }
  424. }
  425. });
  426. });
  427. }
  428. </script>