如何使动态发现



存在一个dataTable,其中特定列的每一行都有一个动态id:

{ 
      "aTargets": [3],
      "mData": 3,
      "mRender": function (data, type, full) {
                            return '<div style="text-align:center;">'+
                                    '<a href="RestaurantCommande/detail/'+ data +'" id="cmd_'+ data +'" style="margin-right: 8px;"><span class="mif-stack3 mif-2x"></span></a>'+
                                    '<a href="RestaurantCommande/modifier/'+ data +'" style="margin-right: 8px;"><span class="mif-pencil mif-2x"></span></a>'+
                                    '<span class="mif-cross mif-2x fg-grayLight"></span>'+
                                   '</div>';
}

可以看到,这里是动态id cmd_。现在我想在document ready上选择一个特定的id cmd_;id值的剩余部分是cookie值:

<script>
$(document).ready(function() {
...
var cookieFromAjoutDetailCommande = Cookies.get('fromAjoutModifDetailsCommande');
if (cookieFromAjoutDetailCommande != null) {
     var _id = "cmd_"+cookieFromAjoutDetailCommande;
     $('#list_commandes').find("a[id='']").click(); // here I want to write the dynamic id
}
...
});
</script>

那么如何选择这个特定的元素呢?

试试这个:

$('#list_commandes').find("#"+ _id).click();

因为它是一个id,我假设它们是唯一的,你可以这样做:

$("#"+ _id).click();

这样做,同时为div添加锚取onclick事件并从该事件调用函数,就像这样。

{ 
      "aTargets": [3],
      "mData": 3,
      "mRender": function (data, type, full) {
                            return '<div style="text-align:center;">'+
                                    '<a href="RestaurantCommande/detail/'+ data +'" id="cmd_'+ data +'" style="margin-right: 8px;" onclick="test()"><span class="mif-stack3 mif-2x"></span></a>'+
                                    '<a href="RestaurantCommande/modifier/'+ data +'" style="margin-right: 8px;"><span class="mif-pencil mif-2x"></span></a>'+
                                    '<span class="mif-cross mif-2x fg-grayLight"></span>'+
                                   '</div>';
}

,然后在JS中定义一个test方法

function test()
{
//do something
}

查看js页面中的工作示例

小提琴:演示

最新更新