当我点击总计按钮时,我试图读取一个表,该按钮是在带有表的 ajax 调用上创建的,我尝试使用 id 属性和输入类型提交选择器,但我无法读取该按钮,但是当我试图在按钮上调用 javascript 函数单击调用 javascript 函数,任何人都可以解释这个以及我应该如何阅读使用 jquery 选择器
$.ajax({
type:'POST',
url:'/pos/addproduct',
dataType: "json",
data:JSON.stringify(order),
contentType: "application/json; charset=utf-8",
success:
function(data){
i++;
console.log(i);
$.each(data,function(index,value){
var temp = "qty" + data[index].barcodeid.trim();
var qtyitm=$("#"+temp);
if(qtyitm.length != 0){
qtyitm.html(data[index].qty);
//("#price"+(data[index].barcodeid.trim())).html(data[index].price);
temp = "price" + data[index].barcodeid.trim();
qtyitm = $("#"+temp);
qtyitm.html(data[index].price);
}
else{
var row=$("<tr><td>"+data[index].oid+"</td>"+"<td>"+data[index].pname.trim()+
"</td>"+
"<td id=\"qty"+data[index].barcodeid.trim()+"\">"+data[index].qty+"</td>"+
"<td id=\"price"+data[index].barcodeid.trim()+"\">"+data[index].price+"</td>"+
"<td>"
+data[index].barcodeid.trim()+"</td></tr>"
);
$("#firstrow").after(row).removeClass("hidden");
}
})
if(i==1){
var row1=$("<tr><td>"+'<input type="submit" id="calculateTotal" value="Total">'+"</td></tr>");
$("#order tbody").append(row1);
}
}
})
});
$('input[id="calculateTotal"]').click(function(event){
alert("hello");
})
最佳答案
由于提交按钮 #calculateTotal
是通过 js 代码动态添加的:
$("<tr><td>"+'<input type="submit" id="calculateTotal" value="Total">'+"</td></tr>");
你应该使用事件委托(delegate) on()
将 click
事件附加到它,例如:
$('body').on('click', 'input[id="calculateTotal"]', function(event){
alert("hello");
})
希望这对您有所帮助。
关于javascript - ID 选择器不适用于输入类型提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232318/