對應項目:market
模塊:PesticideCheck
案例:動態增加抽檢子對象(多個實體組合)
解決方案:依據DOM模型,靈活使用
function addItem(obj) {
itemId++;
var item = $(obj).parent().parent().next();
var group = item.find("div")[0];
item.append($(group).html());
var temp = item[item.length - 1];
var groupOther = item.find("div")[itemId];
var radioObjY = $(temp).find("input")[0];
var radioObjN = $(temp).find("input")[1];
if (item!=1) {
$(radioObjY).attr("name", "screeningResult" + itemId);
$(radioObjN).attr("name", "screeningResult" + itemId);
}
}
function removeItem(obj) {
var divSum = document.getElementById("items").getElementsByTagName("div").length;
if (divSum != 11) {
$(obj).parent().parent().parent().remove();
} else {
return;
}
}
同時,對應的select需要動態增加onchange事件,可以通過
onchange="getCommodityBatchByCommodity(this.value,this)"解決,根據this的父兄弟節點去找到對應二級聯動的select
對於表單提交可以採用相同的name屬性,並在表單提交controller方法中提交對象和數據,比如:
public String savePesticideCheck(@Valid @ModelAttribute("pesticideCheck") PesticideCheck pesticideCheck, BindingResult result, @RequestParam("shopId") int[] shopId,
@RequestParam("batchId") int[] batchId,@RequestParam("commodityId") int[] commodityId, ModelMap modelMap)