簡體   English   中英

如何將變量作為函數參數傳遞

[英]How to pass a variable as a function parameter

我有這個函數將類可編輯( td.editable )的單元格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);
});

editRow不占用行ID,它占用整行(DOM元素本身)。 你只是傳遞錯誤的數據。 嘗試:

$('.editable').click(function(){
    editRow(this.parentNode);
});

鑒於你的功能:

/* 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選擇器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM