Javascript 在modal中对动态生成的html表进行排序

Javascript 在modal中对动态生成的html表进行排序,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我已经搜索了一个类似的问题,但我找不到任何工作。我尝试了许多不同的方法,但运气不佳 我有一个模式弹出窗口,我正在调用它 <span><button id="products_button" class="btn dt_buttons ajax_forms" data-keyid="" data-source="store_products_list_popup.php" data-target="popup" data-element=""><i class="fa

我已经搜索了一个类似的问题,但我找不到任何工作。我尝试了许多不同的方法,但运气不佳

我有一个模式弹出窗口,我正在调用它

<span><button id="products_button" class="btn dt_buttons ajax_forms" data-keyid="" data-source="store_products_list_popup.php" data-target="popup" data-element=""><i class="fa fa-list fa-md"></i><span>&nbsp; View Products </span></button>
这根本不起作用。我也试着用类名来做

$(function(){
  $(".table").tablesorter();
});
现在这适用于home\u stocktake\u locations.php中的所有表,我可以对它们进行排序,但它不会影响store\u products\u list\u popup.php生成的模式。我也尝试过在弹出文件中添加相同的功能,但没有成功


我做错了什么?甚至可以按模式对表进行排序,还是需要采用不同的方法

我猜模态表只有在被查看时才被构建。这意味着当您第一次执行
.tablesorter()
时,它们可能不存在。在填充表之后,在显示模式时再次调用它。如果根本没有得到任何结果,那么jQuery很可能是在填充表之前运行的。要进行一些调试,您可以尝试运行
$(“#tbl_store_product_size”).tablesorter()。它应该给出您正在寻找的结果,该结果将确认函数运行后正在填充数据,或者它应该抛出一个错误。另外,如果您没有得到预期的结果,检查控制台中的错误通常也是一个很好的方法来找出您的问题所在。@Matthew在第一部分给出了一个很好的建议,但它不太可能抛出错误。当没有选择器匹配时,jQuery悄悄地失败found@Matthew当我在打开modal后在控制台中运行它时,它运行良好,并对信息进行了排序。所以事实上,jQuery是在填充表之前调用的。在本例中,何时何地调用$(“#tbl_store_product_size”).tablesorter()是正确的方法;?伟大的很高兴我们能帮忙:)
echo "<tr>";                    
                    echo "<td style='color:red' > $row_counter </td>";
                    echo "<td style='color:red; width:200px;' class='left_align' > $lstr_product_name </td>";
                    echo "<td style='color:red'> $lstr_department_name </td>";
                    echo "<td style='color:red' > <input type='text' name='unit_cost' class='form-control unit_cost' style='width:50px;' value='$lint_unit_cost' /> <input name='product_id' class='form-control product_id' value='$lint_product_id' type='hidden'/> </td>";
                    echo "<td style='color:red' > <input type='text' tabindex='-1' readonly name='quantity_counted' class='form-control editable_control number_format unit_cost' style='width:50px;' value='$lint_quantity_counted' />  </td>";
                    echo "<td style='color:red' > <input type='text' tabindex='-1' readonly name='total_cost' class='form-control editable_control number_format unit_cost' style='width:50px;' value='$lint_total_cost' />  </td>";


                    echo "</tr>";
    $(function(){
  $("#tbl_store_product_sizes").tablesorter();
});
$(function(){
  $(".table").tablesorter();
});