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です。
期待される結果:配列を分割した後、対応するチェックボックスをオンにする必要があります。