我需要删除一些行,每行都与表中的一个复选框相关联。到目前为止,我已经想出了这个:
$("#RemoveSelectedTests").click(function () {
var testElements = [], len, rowToRemove;
testElements = getSelectedTests('what', "selectedTests");
len = testElements.length;
for (var i = 0; i < len; i++) {
rowToRemove = testElements[i].substring(testElements[i].lastIndexOf("(") + 1, testElements[i].lastIndexOf(")"));
$("#" + rowToRemove).remove();
}
});
对我来说,以上似乎是正确的,但它似乎有点不一致。我的意思是,有时,它会正确删除行,有时,需要多次按下删除按钮才能删除行。我不确定这里还有什么。我可能做错了什么?
getSelectedTests
只是获取要处理的行。
function getSelectedTests(what, id) {
var selectedTests = [];
$("#" + id + " .rdbtn[type=checkbox]:checked").each(function () {
if (!what) {
selectedTests.push($(this).val());
}
else {
selectedTests.push($(this).data('desc') + ' (' + $(this).val() + ')');
}
});
return selectedTests;