From 028a0b5f22862cb628821ccde1ba402711f442ff Mon Sep 17 00:00:00 2001 From: Karson Date: Tue, 3 Sep 2024 10:27:56 +0800 Subject: [PATCH] =?UTF-8?q?Fieldlist=E6=96=B0=E5=A2=9E=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E4=BF=9D=E5=AD=98=E5=92=8C=E4=BF=9D=E7=95=99?= =?UTF-8?q?=E7=A9=BA=E6=95=B0=E6=8D=AE=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/js/require-form.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/public/assets/js/require-form.js b/public/assets/js/require-form.js index a4ba212f..d88b7b4e 100755 --- a/public/assets/js/require-form.js +++ b/public/assets/js/require-form.js @@ -321,16 +321,28 @@ define(['jquery', 'bootstrap', 'upload', 'validator', 'validator-lang'], functio } data[match[1]][match[2]] = j.value; }); - var result = template ? [] : {}; + //使用数组保存 + var usearray = container.data("usearray") || false; + //保留空数据 + var keepempty = container.data("keepempty") || false; + + var result = template || usearray ? [] : {}; + var keys = Object.keys(Object.values(data)[0] || {}); + + var isassociative = !usearray && keys.indexOf("value") > -1 && (keys.length === 1 || (keys.length === 2 && keys.indexOf("key") > -1)); + if(isassociative && keys.length ===2){ + result = {}; + } + $.each(data, function (i, j) { if (j) { - var keys = Object.keys(j); - if (keys.indexOf("value") > -1 && (keys.length === 1 || (keys.length === 2 && keys.indexOf("key") > -1))) { + if (isassociative) { if (keys.length === 2) { - if (j.key != '') { + if (j.key != '' || keepempty) { result['__PLACEHOLDKEY__' + j.key] = j.value; } } else { + //一维数组 result.push(j.value); } } else {