Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 点击ajax post请求未按预期在两个表中点击单元格_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 点击ajax post请求未按预期在两个表中点击单元格

Javascript 点击ajax post请求未按预期在两个表中点击单元格,javascript,jquery,ajax,Javascript,Jquery,Ajax,使用下面的代码捕获表id和单元格文本 $("td").click(function(e) { var $row =$(e.target).closest("td"); // Find the row var $table_label= $row.text(); //alert($table_label); var $table_id=$(this).closest("table").attr('id'); if($(this).attr('style'

使用下面的代码捕获表id和单元格文本

$("td").click(function(e) {
    var $row =$(e.target).closest("td");   // Find the row
    var $table_label= $row.text();
    //alert($table_label);
    var $table_id=$(this).closest("table").attr('id');
    if($(this).attr('style'))
    $(this).removeAttr('style');
      else
    $(this).css('background', '#309');



   tableText($table_label,$table_id); //this is ajax function
});
Ajax函数:

$test_table1 = $('.test_table1')
$test_table2 = $('.test_table2')
function tableText(table_label,table_id) {
      $.ajax({
        type: 'POST',
        url: url,
        contentType: 'application/json',
        data: JSON.stringify({'label':'table', 'filter':{'table_id':table_id,'table_label':table_label}}),
        success: function(res, status, xhr){
            $test_table1.html(res['table1']);
            $test_table2.html(res['table2']);
        },
    });
    } 
当我直接点击表2时,它正在工作。当我在点击表1后点击,然后在表2中点击,它就不起作用了。如果我删除了ajax函数,它在这两种情况下都可以正常工作

有什么建议吗

$(“td”)。单击(函数(){
将仅将事件绑定到DOM中存在的a元素

$(文档)。在(“单击”、“td”)上,函数(){
将在绑定事件时不存在的a元素上绑定事件。这称为事件委派

事件委派允许我们将单个事件侦听器附加到 父元素,该元素将为匹配 选择器,无论这些子体现在存在还是添加到 未来

根据ajax响应,tr和td在绑定元素后添加到DOM中

不要使用
$(“td”)。单击(函数()
,使用
$(文档)。在(“单击”,“td”,函数(){

var$row=$(e.target)。最近的(“td”);//查找行
它应该是
tr