用于复选框检查的Java字符串到JavaScript字符串数组
Java String to JavaScript String Array for Checkbox Checking
我想将字符串数组从服务器转换为客户端字符串,不使用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];
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;
}
}
}
}
相关文章:
- 将JSON转换为typescript中的字符串数组
- 在Javascript中将一个值和字符串数组转换为if语句
- 如何将正则表达式包含到字符串数组中
- JavaScript:将字符串数组转换为文本区域
- Knockout中的字符串数组
- 拆分字符串数组(JavaScript)后未定义
- 使用Javascript获取两个字符串之间的字符串数组
- 打印从Spring MVC Controller发送的字符串数组只显示“;toJSON”;在javascript中
- 将一个字符串数组解析为一个新的数组javascript
- AngularJS - 从字符串数组中连续更改文本
- 使用字符串数组中的字符填充 HTML 表
- 如何在 Javascript 中将字符串数组列表插入到表行中
- 创建二维字符串数组
- 如何从字符串数组中获取子字符串数组
- 如何将字符串数组转换为简单数组
- 按字母顺序、数字顺序和特殊字符对字符串数组进行排序
- 如何从字符串数组中获得8个随机唯一元素
- json_encode($myVar);正在给出地图,我想要一个字符串数组
- 函数,返回javascript中两个字符串数组的差值
- Javascript字符串数组转换为用逗号分隔的多个字符串