在以下代码行中,我尝试在javascript中的html标记内添加一个函数:
nuevo = "<p class='item'>" + res.tarea + "<button onclick = '" + return EliminarTareas(database) + (" + res.tarea +");'>" + "Eliminar" + "</button></p>";
$('#listatareas').append(nuevo);
function EliminarTareas(id, base) {
base.transaction(function(tx) {
tx.executeSql("DELETE tarea FROM Tareas WHERE tarea=?", [id], function () {
});
});
}
答案 0 :(得分:1)
主要问题是这部分+return EliminarTareas(" + database + ", " + res.tarea +");'>"
。它会丢弃第二个参数,因为您关闭了paranthesis )
,它也有引用问题。
应该是这样的+" return EliminarTareas(" + database + ", " + res.tarea + ");'>"
但是,我认为用.data
解决这个问题是有效的,它可能会提供更好的结构。以下是我的版本,其中包含您的一些代码(DEMO:https://jsfiddle.net/9q4hLs3a/):
var nuevo = $("<p class='item'><button data-var1='" + database + "' data-var2='" + res.tarea + "'>Eliminar</button></p>");
$('#listatareas').append(nuevo);
$(document).ready(function(){
$(document).on('click', '#listatareas button', function(){
var var1 = $(this).data('var1');
var var2 = $(this).data('var2');
EliminarTareas(var1 , var2 )
});
function EliminarTareas(id, base){
base.transaction(function(tx){
tx.executeSql("DELETE tarea FROM Tareas WHERE tarea=?", [id], function (){
});
}
答案 1 :(得分:0)
我认为这就是你想要的
"<p class='item'>"+ res.tarea +"<button onclick = 'EliminarTareas("+database+","+res.tarea +")'>Eliminar</button></p>";