Jquery Loop,条件和分配给变量?

Posted

技术标签:

【中文标题】Jquery Loop,条件和分配给变量?【英文标题】:Jquery Loop , condition and assigning to variable? 【发布时间】:2021-06-22 06:18:19 【问题描述】:

我在dd() 在 php 中之后有一个数组,它显示如下:

1 [▼0 => "1,18,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,19,20,21,22,23,24"]

现在我想循环数组并只传递那些超过 200 的值。 这是代码

 $('#btnSave').on('click', function () 
   var checkedIds = mytree.getCheckedNodes();
   $('#userData').val(checkedIds);
 );        

其中#userData 是隐藏字段,checkedIds 具有上述值。

如何循环并创建一个条件以仅将所需的值分配给#userData

【问题讨论】:

你的数组只有一个元素,它是一个逗号分隔的字符串。有很多资源可以解释如何将这样的字符串转换为实际的数组。 请不要使用不正确的标签来标记问题,只是为了让它们更可用。 php 标签在这里是多余的。 是的,如果我在树上选择了两个节点,它会显示以下阵列:1 [▼0 =>“1,18,188,198,194,195,196,198,199,200,206,203,198,199,20,206,203,199,20,211,207,199,20,21,121,204,20,211,220,208,20,212,208,199,20,211,220,209,2,23,203,199,20,20,22,23,209,212,23,29,20.2,23,23,209,2,62,209,23,203,203, 91,300,301,92,302,303,93,304,94,305,306,95,307,96,308,97,309 ◀"] 在一个元素中。我将尝试搜索字符串到数组。如果你有可能的灵魂请 @biesior 我不敢苟同。数据的来源是一个来自 PHP 的数组。尽可能在源头将数据重新格式化为所需的形状,以减轻客户的任何额外工作。 Ismail,我建议你看看explodearray_filter 【参考方案1】:

在 PHP 中,而不是使用 dd() 将数组编码为 JSON 并将其放入元素的数据属性中(使用适当的转义):<a data-array="<?php escape(json_encode($array))">...</a>。 然后在js中,可以再次解码JSON:const array = JSON.parse(element.getAttribute('data-array'))

【讨论】:

将一个值放入一个不相关的 DOM 元素中似乎不是解决此问题的好方法。可以直接放在一个js变量里const array = JSON.parse("<?php escale(json_encode($array,....

以上是关于Jquery Loop,条件和分配给变量?的主要内容,如果未能解决你的问题,请参考以下文章

Jquery对象分配给变量返回未定义[重复]

将变量分配给 jQuery 中的包装器集不会使代码工作

如何将 Jquery 变量值发送或分配给 php 变量? [复制]

一次循环 5 条记录并将其分配给变量

为啥我无法将程序中找到的布尔结果的正确值分配给布尔变量并使用结果检查条件?

如何循环遍历熊猫数据框,并有条件地将值分配给变量的一行?