如何(无错误)迭代变量jquery数组的值?

htrmnn0y  于 2023-03-29  发布在  jQuery
关注(0)|答案(1)|浏览(123)

我有一个简单的PHP项目,可以创建一个数据值的json数组,并将其转发到jQuery脚本。例如,这样的数组看起来像这样:[3,94,83,141]。我想使用这些值来更改表中行的可见性。但我遇到了错误。
假设rArray = [3,94,83,141]
第一种方法:

$.each(rArray, function (index, value) {
        $("#ready_foods tbody td[data-foodid=" + value + "]").parent().toggle();
    });

控制台错误:Uncaught TypeError: cannot use 'in' operator to search for "length" in "[3,94,83,141]"
第二种方法:

$(rArray).each(function (index, value) {
        $("#ready_foods tbody td[data-foodid=" + value + "]").parent().toggle();
    });

控制台错误:Uncaught Error: Syntax error, unrecognized expression: [3,94,83,141]
我尝试将数据值表示为一个对象,结果类似。
获得预期结果的唯一方法是使用实际数组(例如[3,94,83,141])而不是变量名rArray
我错过了什么?
编辑:是的,它来自PHP\Symfony。控制器片段;'rte' => json_encode($rte),
模板片段:<div class="rte" style="display:none;">{{ rte }}</div>
结果无变更。
尝试了var rArray = JSON.parse(($(".rte").text())).slice(1, -1);,但删除了数组的[]

jogvjijk

jogvjijk1#

这个例子中的罪魁祸首是'rte' => json_encode($rte)。用'rte' => $rte替换它,错误就消失了。

相关问题