我设置了一个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已正确命名。索引只是没有应用于选项卡集,我无法弄清楚原因。我也尝试过“现场”和“委托”代替“开启”而没有成功。
答案 0 :(得分:0)
我将bind事件放在一个函数中,并在AJAX调用完成后再次调用文档加载函数,因此重新初始化选项卡和内容上的click事件。