Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为所有<;设置jquery函数;a>;ajax响应中的元素_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何为所有<;设置jquery函数;a>;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

我有一个带有ajax代码的函数,可以通过用户名从表过滤器中获取数据

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) {