【发布时间】:2012-07-05 13:12:17
【问题描述】:
var switchit="show";
$('.swap_ref').click(function(){
if(switchit=="show"){
get_main_times();
$('.x1').hide();
$('.swap_ref').text("Show Main Times");
$('.x2').show();
switchit="hide";
}
else{
$('.x2').hide();
$('.swap_ref').text("Show Sundry Times");
$('.x1').show();
switchit="show";
}
})
function get_main_times(){
//$('.x2').html("");
var data="agent_id="+agent_id+"&key=1";//get main_dates
$.ajax({
type:"POST",
url:"admin_includes/get_sundry_details.php",
data:data,
success:function(html){
var element;
var split_times=html.split("^");
var split_times_count=split_times.length-1;
for(var a=0;a<split_times_count;a++)
{
element=split_times[a].split("|");
day=element[0];
hour=element[1];
$('.day_holder1a').each(function(){
var get_day=$(this).data('day');
var get_time=$(this).data('time_slot');
if(get_day==day&&get_time==hour)
{
$(this).css('background-color', 'red').text("");
//$(this).data('state', '0');
}
});
}
}//last function
})//end ajax
}
上面的代码从一个可编辑表格切换到另一个。我遇到的问题是,每次用户从一个表切换到另一个表时,我都需要强制 ajax 函数运行。
在两个表之间切换没有问题 - 只是似乎需要对表 2 (.x2) 进行某种重置,因为它只是保留第一次加载时的原始数据。
【问题讨论】:
-
您似乎没有在点击功能的
else中调用get_main_times。这是故意的吗? -
是的。这是故意的 - 这只是显示一个可编辑到数据库的预构建表 (.x1)。然而问题是,当第一个表被编辑并且用户切换回第二个表时,第二个表不会通过 ajax 请求重新加载,因此不会更新。
-
你能把这些表格的 html 也贴出来吗(也许在 jsfiddle.net 中)?没有它,很难看出这些选择器之间的关系。
标签: jquery function dom-events reload