Javascript 验证jsp中的两个序列化数组是否具有相同的值

Javascript 验证jsp中的两个序列化数组是否具有相同的值,javascript,jquery,jsp,Javascript,Jquery,Jsp,我在UI中有一些复选框,其中包含一些从DB加载的值。在提交表单之前,我想检查这些复选框是否具有相同的值或未更改。 为此,我在页面加载开始时定义了一个变量 existingform=$('input[name=products]').serializeArray(); 以及在更改名为“products”的复选框列表中的值时使用的另一个变量 我试过以下方法,但不起作用 if(existingform === newform) 如何验证这两个值是否相同?更好的方法是从数据库中获取值,取消序列化并进

我在UI中有一些复选框,其中包含一些从DB加载的值。在提交表单之前,我想检查这些复选框是否具有相同的值或未更改。 为此,我在页面加载开始时定义了一个变量

existingform=$('input[name=products]').serializeArray();
以及在更改名为“products”的复选框列表中的值时使用的另一个变量

我试过以下方法,但不起作用

if(existingform === newform)

如何验证这两个值是否相同?

更好的方法是从数据库中获取值,取消序列化并进行比较


其他替代方法是使用隐藏元素将以前的值保存在表单中,并在后端进行比较。

更好的方法是从数据库中获取值,取消序列化并进行比较


其他替代方法是使用隐藏元素将以前的值保存在表单中,并在后端进行比较。

您可以使用
JSON.stringify

if(
  JSON.stringify(existingform.sort()) ===
  JSON.stringify(newform.sort())
);
我还在字符串化之前对数组进行排序,以防万一。
我希望这有帮助。

您可以使用
JSON.stringify

if(
  JSON.stringify(existingform.sort()) ===
  JSON.stringify(newform.sort())
);
我还在字符串化之前对数组进行排序,以防万一。
我希望这有帮助。

使用
JSON.stringify

if(
  JSON.stringify(existingform.sort()) ===
  JSON.stringify(newform.sort())
);
$('input[name=products]').val('foo');
var existingForm=JSON.stringify($('input[name=products]').serializeArray();
$('button')。在('click',()=>{
var newForm=JSON.stringify($('input[name=products]').serializeArray();
console.log(existingForm==newForm);
});


检查相同的
是否使用
JSON.stringify

if(
  JSON.stringify(existingform.sort()) ===
  JSON.stringify(newform.sort())
);
$('input[name=products]').val('foo');
var existingForm=JSON.stringify($('input[name=products]').serializeArray();
$('button')。在('click',()=>{
var newForm=JSON.stringify($('input[name=products]').serializeArray();
console.log(existingForm==newForm);
});

检查是否相同
尝试以下操作:

 if(JSON.stringify(existingform) === JSON.stringify(newForm))
试试这个:

 if(JSON.stringify(existingform) === JSON.stringify(newForm))

你已经看过这篇文章了吗?你已经看过这篇文章了吗?