Javascript Jquery-选中列复选框,然后对这些行执行一些操作
我一直在努力寻找一个与我的问题相匹配的答案,但没有什么真正具体的答案。我还在学习,不知道我到底错过了什么 所以我的代码可以在这里找到: 这是我工作的简化版本。在最终版本中,我将把一个csv文件上传到您在那里看到的html表(id=“dvCSV”)。上传后,该表将看起来如图所示(添加了下拉列表和一列复选框)。当我生成复选框时,复选框是“预先选中的”,但我希望用户能够“关闭”我不想计算的行 我将向您介绍整个流程: 此函数用于读取用户指定的列。我不知道他们将把数据上传到哪一列Javascript Jquery-选中列复选框,然后对这些行执行一些操作,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我一直在努力寻找一个与我的问题相匹配的答案,但没有什么真正具体的答案。我还在学习,不知道我到底错过了什么 所以我的代码可以在这里找到: 这是我工作的简化版本。在最终版本中,我将把一个csv文件上传到您在那里看到的html表(id=“dvCSV”)。上传后,该表将看起来如图所示(添加了下拉列表和一列复选框)。当我生成复选框时,复选框是“预先选中的”,但我希望用户能够“关闭”我不想计算的行 我将向您介绍整个流程: 此函数用于读取用户指定的列。我不知道他们将把数据上传到哪一列 function Che
function CheckLocations() {
//Checks the uploaded data for the locations of the Lat/Lon Data based on user dropdowns
colLocs[0] = ($('#Value_0 :selected').text());
colLocs[1] = ($('#Value_1 :selected').text());
colLocs[2] = ($('#Value_2 :selected').text());
colLocs[3] = ($('#Value_3 :selected').text());
LatColumn = colLocs.indexOf("Lat");
LongColumn = colLocs.indexOf("Long");
}
function AllTheSame(array) { //if they do not designate the checkboxes, I prompt them to
var first = array[0];
return array.every(function (element) {
return element === first;
});
}
此函数获取指定列中的所有数据,并将它们放入数组中进行计算
function data2Array() {
//gets the lat and long data from the assigned columns and transfers them to an array for calculation
$("#dvCSV tr td:nth-child(" + (LatColumn + 1) + ")").each(function () {
var tdNode = $("<td/>");
tdNode.html(this.innerHTML);
LatData.push(tdNode.text());
});
LatData.splice(0, 2);
LatData.unshift(1, 1);
$("#dvCSV tr td:nth-child(" + (LongColumn + 1) + ")").each(function () {
var tdNode = $("<td/>");
tdNode.html(this.innerHTML);
LongData.push(tdNode.text());
});
LongData.splice(0, 2); //these two lines remove the first two items then replace them with 0
LongData.unshift(1, 1);
}
希望我能把问题说清楚。任何帮助都将不胜感激。当您的表生成到tr元素中时,请传递一个类。然后为您的复选框创建一个on-change方法。请在此处阅读更多信息: 此外,如果无法从表中获取插入的行id,则在js外部启动一个计数器,如下所示 计数器=0 然后在循环内部添加计数器++ 所以
这将使您朝着正确的方向前进。隐藏行是否会使它们在以后导出时“不可见”?如果它们在屏幕上不可见,则无法打印。
function removeChecks() {
$("#dvCSV th:last-child, #dvCSV td:last-child").remove();
}
function makeCheckArray() {
var searchIDs = $("#dvCSV tbody td:last() input:checkbox:checked").map(function () {
return $(this).val();
}).get();
alert(searchIDs);
}
<tr class="row-1">
<td>
</td>
</tr>
$( "tr" ).on( "change", function() {
//do something
$(this+'.row-'+(counter)).hide();
});