jquery不会继续执行其余的javascript代码

时间:2011-05-26 23:51:08

标签: javascript jquery

这是我在这个网站上的第一个问题(但其他讨论对我有帮助)。

在以下代码中:

$('#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' );
    });

中心对话框永远不会执行...我看不到错误,firebug higlights的最后一行是关闭else指令的括号...任何评论都将不胜感激。提前谢谢。

马哥。

1 个答案:

答案 0 :(得分:0)

我注意到两件事:

  • 我看到你在#divSubcontratos上调用了对话框,但我在代码中的任何地方都没有看到。我假设代码正在运行时已经存在,但值得一提的是
  • 正如Nico所提到的,您可能希望移动命令将div置于ajax回调中心,因此您知道它在运行之前都已设置完毕。