如何将变量作为函数参数传递
2011-08-26
174
我有这个函数,可以将具有可编辑类的单元格 (
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);
});
2个回答
editRow
不接受行 ID,而是接受整行(DOM 元素本身)。您只是传递了错误的数据。尝试:
$('.editable').click(function(){
editRow(this.parentNode);
});
Justin Niessner
2011-08-26
此处给出您的函数:
/* 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 选择器
Brian Glaz
2011-08-26