从Ajax加载的内容中选择jQuery UI选项卡

时间:2013-07-29 18:33:44

标签: jquery ajax jquery-ui tabs jquery-ui-tabs

我设置了一个jQuery UI选项卡,可以提取大量信息。其中一个选项卡是一个表格。在表格中,我在其中一列上有一个点击事件。当用户单击该列时,事件应该执行一些代码,然后以编程方式更改选项卡选择。

我在click事件中使用了“on”函数,因为在DOM最初呈现时该表尚不存在。我可以与Ajax创建的数据进行交互,但我无法更新选项卡选择。有人可以向我解释发生了什么事吗?

这是我的点击事件:

$("#summaryTable td").live("click",function() {
    var myCol = $(this).index();
    if (myCol == 0) {
        var $tr = $(this).closest('tr');
        var myRow = $tr.index();
        $("#divSummary").show();
        $("#storeDetails").hide();   
        selectedStoreTab = $.trim($(this).html());
        $("#store").val(selectedStoreTab);
        lastSelectedStoreTab = selectedStoreTab;
        //loadData();

        var tabDivSelector = "#tab-container-" + selectedMarketTab;
        var tabSelector = "#tab-" + selectedStoreTab;
        var index = $(tabDivSelector + " a[href='" + tabSelector + "']").parent().index();  // Gets the index correctly!

        $(tabDivSelector).tabs( "select", index );  // Doesn't set the tab!
    }
});

我已验证在Firebug中正确设置了索引并且DIV已正确命名。索引只是没有应用于选项卡集,我无法弄清楚原因。我也尝试过“现场”和“委托”代替“开启”而没有成功。

1 个答案:

答案 0 :(得分:0)

我将bind事件放在一个函数中,并在AJAX调用完成后再次调用文档加载函数,因此重新初始化选项卡和内容上的click事件。