2014-11-23 47 views
0

我想將一個變量作爲參數傳遞給使用JQuery追加的onClick函數。由於行數不確定,我使用$ .each在每行的末尾添加一個按鈕,單擊它時會編輯該行。 所以要獲得該行,我將該行的id傳遞給按鈕中的Onclick函數,因爲函數無法正常工作,所以我對引號感到困惑。將變量作爲參數傳遞給onclick函數在.append中使用雙引號和單引號JQuery

下面是代碼

$.each(result, function (key, item) { 
       $("#table1").append("<tr><td>" + item.id + "</td><td>" + item.name + "</td> <td>" + item.type + "</td> <td>" + item.weight + "</td> <td>" + item.birthday + "</td> <td>" + item.hasHorns + "</td><td><input class='editR' id='" + item.id + "' type='button' value='EDIT' onclick='editRow('" + item.id + "')'/> </td> </tr>"); 
      }); 

功能

function editRow(eid) { 

    $("#table1").empty(); 
    //var eid = $(this).attr("id"); 
    alert(this); 
    $.getJSON(uri + "GetByID/" + eid, function (data) { 
     $("#headerType").replaceWith("<h2>Edit Animal</h2>"); 
     $("#table1").append("<tr><td><h4>ID</h4></td> <td><h4>Name</h4></td> <td><h4>Type</h4></td> <td><h4>Weight</h4></td> <td><h4>Birthday</h4></td> <td><h4>Has Horns</h4></td></tr>"); 
     $("#table1").append("<tr><td>" + data.id + "</td><td>" + data.name + "</td> <td>" + data.type + "</td> <td>" + data.weight + "</td> <td>" + data.birthday + "</td> <td>" + data.hasHorns + "</td> </tr>"); 
    }); 
} 

結果,對瀏覽器檢查元素(對不起,因爲它需要10 impoession我不能張貼圖片)

<input class="editR" id="1" type="button" value="EDIT" onclick="editRow(" 1')'=""> 

一切正常,但點擊上沒有任何反應

謝謝

回答

2

嘗試改用

onclick=\"editRow('" + item.id + "')\"/> 
+0

謝謝兄弟,就這麼簡單?有效 – Deeyo 2014-11-23 09:41:11

相關問題