实际上我可以说我是大量使用 Jquery 和 JS 的新手。我是纯 PHP 开发人员,所以我来到这里,希望你们能帮助我。
我想要做的是弹出一个带有 2 个按钮编辑(#editar
)和删除(#eliminar
)的表单
( #editar
) 将更改.val()
输入的 并且 ( #eliminar
) 将从 DOM 中删除单击的对象。
但是使用我第一次更改时的代码完全没有问题,然后当我第二次尝试时,它会触发该功能两次,3次,4次等等......
我编码的方式是正确的吗?我的意思是点击事件中的那两个函数。
我会非常感谢您的话和提供的任何帮助。
$("#pedido").on("click", "a.editprod", function(e){
e.preventDefault();
var t = $(this).attr('apeid');
var c = parseInt($("li[lid="+t+"]").attr("cantp"));
alert(t);
var htmleditor = '<p>Editar Cantidad:</p><table><tr><th><a class="menos" href="#" data-theme="a" data-role="button" data-inline="true">-</a></th><th><input id="" class="cantprod" type="number" value="'+c+'"></th><th><a href="#" class="mas" data-theme="a" data-role="button" data-inline="true">+</a></th></tr></table><button id="editar" data-theme="b" >Cambiar Cantidad</button><button id="eliminar" data-theme="a">Eliminar Producto</button>';
$("#datoseditor").html(htmleditor);
$("#editor").trigger("create");
$("#editor").popup("open");
$("#datoseditor").on("click", "#editar", function(e){
var ce = $("#datoseditor").find('input').val();
alert(ce);
$("li[lid="+t+"]").attr("cantp",ce);
$('span[id="bcantp'+t+'"]').html(ce);
$('input[data-id="'+t+'"]').val(ce);
alert(t);
$("#editor").popup("close");
});
$("#datoseditor").on("click", "#eliminar", function(e){
$("li[lid="+t+"]").remove();
$("#ppedidos").listview('refresh');
$('input[data-id="'+t+'"]').remove();
alert('Producto Eliminado!');
$("#editor").popup("close");
});
});
更新:
工作代码
function ventanaEditar(){
window.prodpedidoId=$(this).attr("apeid");
var c=parseInt($("li[lid="+window.prodpedidoId+"]").attr("cantp"));
var htmleditor='<p>Editar Cantidad:</p><table><tr><th><a class="menos" href="#" data-theme="a" data-role="button" data-inline="true">-</a></th><th><input id="" class="cantprod" type="number" value="'+c+'"></th><th><a href="#" class="mas" data-theme="a" data-role="button" data-inline="true">+</a></th></tr></table><button id="editar" data-theme="b" >Cambiar Cantidad</button><button id="eliminar" data-theme="a">Eliminar Producto</button>';
$("#datoseditor").html(htmleditor);
$("#editor").trigger("create");
$("#editor").popup("open")}
function editarProducto(){
var ce=$("#datoseditor").find("input").val();
$("li[lid="+window.prodpedidoId+"]").attr("cantp",ce);
$('span[id="bcantp'+window.prodpedidoId+'"]').html(ce);
$('input[data-id="'+window.prodpedidoId+'"]').val(ce);
$("#editor").popup("close")}
function elimProducto(){
$("li[lid="+window.prodpedidoId+"]").remove();
$('input[data-id="'+window.prodpedidoId+'"]').remove();
alert("Producto Eliminado!");
$("#ppedidos").listview("refresh");
$("#editor").popup("close")};
$("#pedido").on("click", "a.editprod", (ventanaEditar));
$("#datoseditor").on("click", "#editar", (editarProducto));
$("#datoseditor").on("click", "#eliminar", (elimProducto));