我从后端服务器获取data
,如果单击该复选框,我想知道如何发送questionid
的值。
function renderHTML(data) {
var htmlString = "";
for (i = 0; i < data.length; i++) {
htmlString += "<p><input type='checkbox' id='checks' value='" + data[i] + "'/>" +
data[i].questionid + "." + "\n;
htmlString += '</p>';
}
response.insertAdjacentHTML('beforeend', htmlString);
document.getElementById('checks').onclick = function() {
if (this.checked) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
var Data = xhr.responseText;
var parseData = JSON.parse(Data);
console.log(parseData);
}
};
xhr.open("POST", "URL", true);
xhr.send(JSON.stringify(data));
}
};
}
答案 0 :(得分:0)
我建议您使用名称而不是ID
ID =&#39;检查&#39; =&GT;命名=&#39;检查&#39; 并定义类似this link
的函数答案 1 :(得分:0)
您提出的问题的基本概念是可行的,请参阅下面的代码段。您可以将其替换为您需要执行的任何AJAX调用,而不是记录结果。
注意:您的代码中的一个重大问题(除了与引号相关的语法错误之外)是您尝试将unordered
分配给多个HTML元素,您可以将这些元素分配给多个HTML元素。做。执行此操作时,通常您的id="checks"
事件将适用于第一个元素,但不适用于其他元素。相反,请使用onclick
,或者使用我在下面的classes
。
querySelector
&#13;
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
for (var i=0; i < checkboxes.length; i++) {
checkboxes[i].onclick = function() {
if (this.checked) {
console.log(this.value + ' is checked!');
}
}
}
&#13;