我有这个函数可以将具有类可编辑(td.editable
)的单元格转换为输入字段。现在,您必须将行传递给函数。例如:editRow(myRow)
。
所以使用this.parentNode.id
,我得到了行的id。但是当我将值作为参数传递给editRow
函数时,它什么也没做。
我认为函数认为rowId
是行的实际名称,而不是使用rowId
变量的内容作为行的名称。
function editRow(row) {
$('td.editable',row).each(function() {
$(this).html('<input type="text" value="' + $(this).html() + '" size="10" />');
});
}
/* click on cell with .editable class */
$(".editable").click(function() {
rowId = this.parentNode.id;
editRow(rowId);
});
答案 0 :(得分:4)
editRow
不占用行ID,它占用整行(DOM元素本身)。你只是传递错误的数据。尝试:
$('.editable').click(function(){
editRow(this.parentNode);
});
答案 1 :(得分:0)
鉴于你的功能:
/* click on cell with .editable class */
$(".editable").click(function() {
rowId = this.parentNode.id;
editRow(rowId);
});
您正在将id传递给editRow函数。所以在editRow中,你可以这样做:
function editRow(row) {
$('#' + row +' td.editable').each(function() {
$(this).html('<input type="text" value="' + $(this).html() + '" size="10" />');
});
}
'#'是jquery id选择器