我有以下功能:
function fnGetIdentifiers(id){
$.get(
'getCultureIdentifiers.php?cultureID=' + id,
function(data){
if (data.length > 0){
var identifiers = '';
$.each(data, function(index, value){
identifiers += value + ', ';
})
$('#identifiers').text(identifiers.substring(0, identifiers.length - 2));
}
},
"json"
);
}
标签标识符在此上下文中:
<dt>Identifiers</dt><dd id="identifiers"></dd>
这将显示表中当前所选行的详细信息(jquery datatables插件)。选择不同的行时,应更新信息。这在IE8中运行得非常好。 但是在Firefox 3.6和9.0.1中,有时dd元素是空白的,即使ajax请求返回了正确的数据(使用firebug验证)。更令人困惑的是,有时但并非总是你可以在非常短的时间内看到数据,然后它再次消失。
任何想法如何解决这个问题? 请注意,在行更改时,还有另一个AJAX请求也会获取详细信息数据。这个也总是适用于Firefox。它们的运行顺序无关紧要。行为是一样的。
答案 0 :(得分:0)
像往常一样过早发布这个5分钟......就在明显的“顿悟”之前。
提到的“其他AJAX请求”清除列表中所有dd元素的内容,因为调用是异步顺序无关紧要。 - &GT; dd元素标识符正确更新(通过眼睛可见),然后第二个请求几乎总是需要更长的时间来获取数据再次清除它。 解决方案:不要在第二次调用中清空标识符元素:
if($(this).attr('id') != 'identifiers'){
//...