gpt4 book ai didi

用于复选框检查的 Java 字符串到 JavaScript 字符串数组

转载 作者:行者123 更新时间:2023-11-29 18:24:05 25 4
gpt4 key购买 nike

我想将字符串数组从服务器转换为客户端字符串,不使用 JSON 或外部库。服务器端,将 String[] xArray = new String[] { "1", "2", "3"} 转换为 "1, 2, 3"用于客户端渲染。以下 JavaScript 函数负责解析服务器字符串并将复选框与数组值进行比较。当匹配时,必须选中对应的复选框。

function loadCheckBoxes() {         
var ids = '<%= request.getSession().getAttribute("idsFromServer") %>';
if (ids != null && ids !== '') {
var idsArray = String.valueOf(ids).indexOf(',') == -1 ? [ids] : ids.split(',');
var checkboxes = document.getElementsByClassName('gridIds');
for (var i = 0; i < checkboxes.length; i++) {
var index = idsArray.indexOf(checkboxes[i].value);
if (index >= 0) {
var foundId = idsArray[index];
if (checkboxes[i].value == foundId) {
checkboxes[i].checked = true;
}
}
}
}
}

这是一个JSFiddle用于测试执行。

预期结果:拆分我的数组后,必须选中对应的复选框。

最佳答案

解决方案中的两个问题:

  • 你应该在 ', ' 而不是 ',' 上拆分
  • var foundId = ids[index]; -> 应该是 ids.split(', ')[index];

Working solution :

function checkSelected() {
var ids = "9, 133";
var idsArr = ids.split(", ");
var checkboxes = document.getElementsByClassName('gridCheck');
for (var i = 0; i < checkboxes.length;
var index = idsArr.indexOf(checkboxes[i].
if (index >= 0) {
var foundId = idsArr[index];
if (checkboxes[i].value == foundId) {
checkboxes[i].checked = true;
}
}
}
}

关于用于复选框检查的 Java 字符串到 JavaScript 字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com