can';t通过索引访问JavaScript数组值
我有一些代码可以将从HTML表中选择的数据放入JavaScript数组中。代码似乎工作正常,但我无法通过索引访问数组值。此JSFIDLE中的警报显示数组的内容和长度与预期一致。我有打字错误吗can';t通过索引访问JavaScript数组值,javascript,arrays,Javascript,Arrays,我有一些代码可以将从HTML表中选择的数据放入JavaScript数组中。代码似乎工作正常,但我无法通过索引访问数组值。此JSFIDLE中的警报显示数组的内容和长度与预期一致。我有打字错误吗 谢谢在工作变动后,您不会更新底部的div 我把div放在函数的底部 function checkJobs() { var cluster1Job1 = selectedJobs[0]; var cluster1Job2 = selectedJobs[1]; var cluster1Job3
谢谢在工作变动后,您不会更新底部的div 我把div放在函数的底部
function checkJobs() {
var cluster1Job1 = selectedJobs[0];
var cluster1Job2 = selectedJobs[1];
var cluster1Job3 = selectedJobs[2];
document.getElementById('c1J1').innerHTML = cluster1Job1;
document.getElementById('c1J2').innerHTML = cluster1Job2;
document.getElementById('c1J3').innerHTML = cluster1Job3;
}
然后在工作改变之后,我调用这个函数
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("selected_row");
addJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
} else {
$(this).closest('tr').removeClass("selected_row");
removeJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
}
checkJobs();
});
作业更改后,您不会更新底部的div 我把div放在函数的底部
function checkJobs() {
var cluster1Job1 = selectedJobs[0];
var cluster1Job2 = selectedJobs[1];
var cluster1Job3 = selectedJobs[2];
document.getElementById('c1J1').innerHTML = cluster1Job1;
document.getElementById('c1J2').innerHTML = cluster1Job2;
document.getElementById('c1J3').innerHTML = cluster1Job3;
}
然后在工作改变之后,我调用这个函数
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("selected_row");
addJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
} else {
$(this).closest('tr').removeClass("selected_row");
removeJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
}
checkJobs();
});
我不确定我是否正确理解了问题,但如果我理解正确,您希望选中复选框时更新元素
c1J1
、c1J2
和c1J3
您当前没有这种行为,因为内部文本只更新一次,因为它不响应任何事件处理程序。为了使其工作,您可以将更改代码添加到事件处理程序中,例如更改:
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("selected_row");
addJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
} else {
$(this).closest('tr').removeClass("selected_row");
removeJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
}
var cluster1Job1 = selectedJobs[0];
var cluster1Job2 = selectedJobs[1];
var cluster1Job3 = selectedJobs[2];
document.getElementById('c1J1').innerHTML = cluster1Job1;
document.getElementById('c1J2').innerHTML = cluster1Job2;
document.getElementById('c1J3').innerHTML = cluster1Job3;
});
我不确定我是否正确理解了问题,但如果我理解正确,您希望选中复选框时更新元素
c1J1
、c1J2
和c1J3
您当前没有这种行为,因为内部文本只更新一次,因为它不响应任何事件处理程序。为了使其工作,您可以将更改代码添加到事件处理程序中,例如更改:
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("selected_row");
addJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
} else {
$(this).closest('tr').removeClass("selected_row");
removeJob(selectedJobs, $(this).parent().next().text());
alert(selectedJobs);
alert(selectedJobs.length);
}
var cluster1Job1 = selectedJobs[0];
var cluster1Job2 = selectedJobs[1];
var cluster1Job3 = selectedJobs[2];
document.getElementById('c1J1').innerHTML = cluster1Job1;
document.getElementById('c1J2').innerHTML = cluster1Job2;
document.getElementById('c1J3').innerHTML = cluster1Job3;
});
是否要在选中任何复选框之前访问“var cluster1Job1=selectedJobs[0];”中的选定作业?是否要在选中任何复选框之前访问“var cluster1Job1=selectedJobs[0];”中的选定作业?太好了。谢谢你的帮助,查理!太好了。谢谢你的帮助,查理!