【发布时间】:2013-01-28 04:53:28
【问题描述】:
如果复选框被选中,我需要一个函数来添加和删除表中的列。我目前得到的代码在很大程度上可以正常工作。控制台消息在正确的时间出现,并且表格列已正确添加到 HTML。
问题出在else{} 部分:未选中复选框时不会删除列。在萤火虫中,我收到一条消息,指出我的选择器错误,但我不确定如何修复它。假设选择器是正确的,我对.detach(this) 的应用是否正确?
function makevisible(idsandclasses,object,folder){
$('#checkbox'+idsandclasses).change(function() {
console.log(idsandclasses, "before if checked")
if($('#checkbox'+idsandclasses).is(':checked')){
console.log(idsandclasses, "if checked")
$('tr:contains("Details")').append('<td id="rowdetails'+folder+'">'+object.name+'</td>')
}else{
console.log("unchecked")
$('#rowdetails'+folder).detach(this)
}
})
};
这里我使用函数:
$(document).ready(function() {
$("#dot0001").hover(makevisible("info0001", object0001,"object0001"))
})
这是萤火虫消息:
TypeError: expr.replace 不是函数
expr = expr.replace(rattributeQuotes, "='$1']" )
这是我的 jquery-1.9.0.js 文件中我的代码有问题的部分:
expr = expr.replace( rattributeQuotes, "='$1']" );
我认为不需要 HTML。如果是这样的话,尽管让我知道。
【问题讨论】:
-
这段代码调用
makevisible,然后将返回的值(即undefined)传递给.hover()。那是不对的。要么直接调用makevisible,要么将实际函数传递给.hover()。 -
要删除表格中的一列,您必须在每一行中删除相应的
<td>。 -
@jfriend00 我知道谢谢。一旦我得到答案,我就知道如何将其应用于所有单元格。我只是尽量保持简单。
标签: javascript jquery jquery-selectors checkbox