У меня есть XML-документ, таким образом:
<tab id="1">
<name>Individual</name>
<coverLevel>
<level id="1">
<month>20</month>
<week>5</week>
</level>
<level id="2">
<month>40</month>
<week>10</week>
</level>
<level id="3">
<month>80</month>
<week>20</week>
</level>
</coverLevel>
</tab>
<tab id="2">
<name>Couple</name>
<coverLevel>
<level id="1">
<month>40</month>
<week>10</week>
</level>
<level id="2">
<month>80</month>
<week>20</week>
</level>
<level id="3">
<month>160</month>
<week>40</week>
</level>
</coverLevel>
</tab>
<tab id="3">
<name>Family</name>
<coverLevel>
<level id="1">
<month>80</month>
<week>20</week>
</level>
<level id="2">
<month>160</month>
<week>40</week>
</level>
<level id="3">
<month>320</month>
<week>80</week>
</level>
</coverLevel>
</tab>
<tab id="4">
<name>Single parent family</name>
<coverLevel>
<level id="1">
<month>40</month>
<week>10</week>
</level>
<level id="2">
<month>80</month>
<week>20</week>
</level>
<level id="3">
<month>160</month>
<week>40</week>
</level>
</coverLevel>
</tab>
И jQuery, который вызывает указанный XML-документ и динамически обновляет значения при щелчке столбца таблицы.
$(document).ready(function(){
$('table#benefit > thead > tr > th, table#benefit > thead > tr > th > a, table#benefit > tbody > tr > td').click(function(){
var colIndex = $(this).parent().children().index ($(this));
var tabPosition = $('ul#coverTabs > li').index ($('.currentTab'));
var tabPosition = tabPosition + 1
if (colIndex != 0) {
$.get('/cash-plan-quote/table.xml', function(data){
$(data).find('level').each(function() {
var $level = $(this);
var $levelID = $level.attr('id');
if (colIndex == $levelID) {
var coverLevel = '<span>Level ' + $levelID + ' benefits</span>';
var monthCost = '<h5>£' + $level.find('month').text() + '</h5>';
var weekCost = '<h6>£' + $level.find('week').text() + '</h6>';
$('div.costPanel > h2 > span').replaceWith($(coverLevel));
$('div.costPanel > div.costs > h5').replaceWith($(monthCost));
$('div.costPanel > div.costs > h6').replaceWith($(weekCost));
};
});
});
return false;
};
});
});
Что я хотел бы сделать, это получить данные в документе XML для текущей вкладки:
var tabPosition = $('ul#coverTabs > li').index ($('.currentTab'));
var tabPosition = tabPosition + 1
Таким образом, когда пользователь нажимает на вкладку, будут вызываться значения уровня XML вкладки. Я подумал, что смогу сделать это, найдя положение вкладки, а затем использовать ее для извлечения данных для этой вкладки в XML-документе.
HTML-код для вкладок:
<ul id="coverTabs">
<li class="currentTab"><a href="#">Individual</a></li>
<li><a href="#">Couple</a></li>
<li><a href="#">Family</a></li>
<li><a href="#">Single parent family</a></li>
</ul>
И еще несколько jQuery для настройки стиля текущей вкладки:
$(".currentTab").removeClass("currentTab");
$(this).addClass("currentTab");