2011-05-26 102 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

相關問題