Javascript 如何为所有<;设置jquery函数;a>;ajax响应中的元素
我有一个带有ajax代码的函数,可以通过用户名从表过滤器中获取数据Javascript 如何为所有<;设置jquery函数;a>;ajax响应中的元素,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个带有ajax代码的函数,可以通过用户名从表过滤器中获取数据 function showdata(){ var username = $("#username").val(); // input:text element id = 'username' $.ajax({ type:"POST", url:"purchase_process.php", data: "act=show&username=" + username, succes
function showdata(){
var username = $("#username").val(); // input:text element id = 'username'
$.ajax({
type:"POST",
url:"purchase_process.php",
data: "act=show&username=" + username,
success: function(data){
$("#show_data").html(data); // div element with id = 'show_data'
$("#show_data").fadeIn(2000);
}
});}
showdata();
$(".del_button").click(function(e) {
e.preventDefault();
var id = $(this).attr('id');
var no = id.split('-');
var number= no[1];
var username = $("#user_"+number).val();
var code = $("#code_"+number).val();
$.ajax({
type:"POST",
url:"purchase_process.php",
data: "act=delete&username=" + username + "&code=" + code ,
success: function(data){
$("#info").html(data); // div element id = info
showdata();
}
}); });
下面是来自purchase_process.php的ajax响应,它显示了表中的所有数据
在图像(delete.png)中显示数据的每行元素以删除行:
<table id='purchase_table' name='purchase_table' border='0' class='table'>
<thead>
<tr><th><center>No.</center></th>
<th><center>Part Number</center></th>
<th><center>Part Name</center></th>
<th><center>Location</center></th>
<th><center>Qty</center></th>
<th><center>Cost</center></th>
<th><center>Subtotal</center></th>
<th><center>Action</center></th>
</tr>
</thead>
<tbody>
<tr>
<td width=70><center>$no</center></td>
<td>
<center>$r[part_code]</center>
<input type=hidden id='user_$no' name='user_$no' maxlength=20
value='$_POST[username]' readonly>
<input type=hidden id='part_$no' name='part_$no' maxlength=20
value='$r[part_code]' readonly>
</td>
<td>$r[part_name]</td>
<td><center>$r[location]</center></td>
<td><center>$r[qty]</center></td>
<td><center>".number_format($r['cost'],2,",",".")."</center></td>
<td><center>".number_format($subtotal,2,",",".")."</center></td>
<td width=80><center>
<a href='#' class='del_button' id='del-$no' name='del-$no'>
<img src='img/delete.png'>
</a>
</center></td>
</tr>
</tbody>
</table>
不
零件号
零件名称
位置
数量
成本
小计
行动
$no
$r[零件代码]
$r[零件名称]
$r[地点]
$r[数量]
.number_格式($r['cost'],2,“,”,“,”)
.number_格式($subtotal,2,“,”,“,”)
函数showdata()运行良好,但jquery函数事件:每当我在图像(delete.png)中单击时,带有class=“del_button”的“a”元素没有响应
但是,如果我在该页面中使用相同的“a”元素,那么jquery函数运行良好。
我假设jquery函数没有得到“a”元素值,因为它是从ajax响应调用的
有人能帮我解决这个问题吗?感谢之前…jQuery在运行时只知道页面中的元素,因此添加到DOM中的新元素无法被jQuery识别。为了解决这个问题,您必须使用从新添加的项冒泡事件到DOM中的某个点,当jQuery在页面加载上运行时,这个点就在DOM中。许多人使用
document
作为捕获冒泡事件的地方,但没有必要在DOM树中占据那么高的位置。当然
在或委托函数上使用
,因为这些是活动元素,所以请单击而不是@lolka\u bolka谢谢您提供的信息真的对我有帮助…哇,谢谢您的回答。。。这是我的工作。。。非常感谢你。。。
$(document).on('click', '.del_button', function(e) {