2011-05-26 105 views
1

这是我在这个网站上的第一个问题(但其他讨论帮助了我)。jquery不会继续执行JavaScript代码的其余部分

在下面的代码:

$('#selObra').change(function() { 
     var id_obra = $(this).val(); 
     if (id_obra == '-1') { 
     //Elimino todos los renglones de la tabla 
     $('#tblSubcontratos tbody tr').remove(); 
     } else { 
     $('#tblSubcontratos').append('<tr><td class="center" colspan="6"><img src="images/ui-anim_basic_16x16.gif" height="16" width="16" style="margin-left:auto;margin-right:auto" /></td></tr>'); 
     //Obtengo todos los contratos de la obra seleccionada 
     $.ajax({ 
      type: 'GET', 
      dataType: 'xml', 
      url: 'get_subcontratos.php', 
      data: 'id_obra=' + id_obra, 
      success: function(xml) { 
      $('#tblSubcontratos tbody tr').remove(); 
      if ($(xml).find('subcontratos').attr('status') == 'OK') { 
       $(xml).find('subcontrato').each(function(){ 
       var id_subcontrato = $(this).find('id_subcontrato').text(); 
       var id_obra = $(this).find('id_obra').text(); 
       var nombre_obra = $(this).find('nombre_obra').text(); 
       var id_contratista = $(this).find('id_contratista').text(); 
       var nombre_contratista = $(this).find('nombre_contratista').text(); 
       var fecha_subcontrato = $(this).find('fecha_subcontrato').text(); 
       var strRow = '<tr class="ui-widget-content">' + 
           '<td>' + id_subcontrato + '</td>' + 
           '<td>' + nombre_obra + '</td>' + 
           '<td>' + nombre_contratista + '</td>' + 
           '<td>' + fecha_subcontrato + '</td>' + 
           '<td class="center view_details"><img src="images/view.gif" /></td>' + 
           '<td class="center"><input type="radio" name="subcontratoSeleccionado" /></td>' + 
          '</tr>'; 
       $('#tblSubcontratos tbody').append(strRow); 
       }); 
      } else { 
       var errno = $(xml).find('errno').text(); 
       var error = $(xml).find('error').text(); 
       $('#message').html(errno + ' - ' + error); 
       $('#message').dialog('open'); 
      } 
      } 
     }); 
     } 
     $("#divSubcontratos").dialog("option", "position", 'center'); 
    }); 

定心永远不会执行该对话框......我看不到错误,最后一行是萤火虫higlights是支架,关闭其他指令...任何意见将不胜感激。提前致谢。

Marco。

+0

不应该在ajax响应结束之后居中(无论成功还是失败)? – bevacqua 2011-05-27 00:29:59

+0

与Nico和RHSeeger告诉你的一样,尝试在$('#tblSubcontratos tbody tr')之后放置对话框'$(“#divSubcontratos”)。dialog(“option”,“position”,'center');' .remove();'(**里面的ajax **)这应该使魔术=)_PS:欢迎来到Stackoverflow !! _ PS2:你可以使用ajax中的“Complete”选项来调用你的对话框,如果你想 – 2011-05-27 01:14:15

回答

0

两件事我注意到:

  • 我看到你打电话就#divSubcontratos对话,但我没有看到在代码的任何地方。我假设它在代码运行时已经存在,但值得一提的是
  • 正如Nico所提到的,您可能想要移动命令以将div居中置于ajax回调中,这样您就知道它已经全部设置完毕在它运行之前。
+0

好的,感谢所有的评论...案例是我想要将对话全部居中(当用户改变选择的对话框时),这就是为什么中心指令在最后,但我将尝试转移到建议的位置。感谢大家,这是学习和支持编程的最佳网站之一。顺便说一句...我怎么能在询问时插入代码?这是因为当我插入代码时,它是未格式化的,但有人为我格式化了它(谢谢!)。 – 2011-05-27 21:48:37

相关问题