Jquery Datatables + Jquery Tabs = an是未定义的错误

时间:2011-12-06 19:54:10

标签: jquery jquery-ui datatables jquery-ui-tabs

我在jquery ui标签中使用数据表。除了一个问题,一切都按预期工作。我想触发一次点击或根据网址的哈希值选择不同的标签。

这就是我想出来的

$(document).ready(function() {
    var hash = window.location.hash;
    if (hash == '') hash = 'add';
    hash = hash.replace('#', '');
    $("a[href=#"+hash+"]").click();
});

这应该可以正常发挥作用,但事实并非如此。 an is undefined问题是在过去的7个小时里找我。

我也尝试过不同的方法来解决问题。例如,我没有尝试使用.trigger('click').click(),而是尝试使用jQuery UI Tabs选项,选择;

$(document).ready(function() {
    var hash = window.location.hash;
    if (hash == '') hash = 'add';
    hash = hash.replace('#', '');

    i = 0;
    $('ul#tablinks li a').each(function() {
        href = $(this).attr('href');
        if (href === '#'+hash)  $( ".tabs" ).tabs("option", "selected", 2); 

        i = i + 1;
    });
});

无论我做什么,我都会触摸标签菜单上的任何内容,我发现an is undefined for ( var i=0, iLen=an.length ; i<iLen ; i++ ) ...错误。

有没有人遇到过与datatables + jquery ui标签类似的问题,或者你有一些建议......

提前感谢您的时间和关注。

1 个答案:

答案 0 :(得分:1)

由于某些原因,我在 SOF 上发布问题后找到解决方案或方法。这个问题就像其他问题一样,而我现在的问题就是&#39;现在&#39;反应似乎最近在循环中。

我正在使用带有服务器端处理的数据表。这意味着在加载页面本身后加载数据。这就是为什么由于某种原因$(document).ready();没有提供预期的结果而且我必须增加额外的时间才能做我想要的事情;

setTimeout(function () {
    var hash = window.location.hash;
    if (hash == '') hash = 'add';
    hash = hash.replace('#', '');
    $("a[href=#"+hash+"]").click();
}, 1000);

诀窍。 @David Thomas和@Scruffy The Janitor感谢您的时间和关注。