39

Kayıt için bir form göndermek için ajax kullanıyorum, ancak kontrol cihazından gelen hatalar için hata mesajlarını görüntülemek için araç ipuçlarını kurmaya çalışırken bir sorun yaşıyorum.Yakalanmamış Hata: tooltip widget örneği için böyle bir yöntem 'show' yok

JavaScript:

$(document).on('ajax:success', '.user_modal_form', function(e, data, status, xhr) { 
    var context; 
    context = $(this); 
    if (data.success) { 
    $('button', context).hide(); 
    $('.spinner', context).show(); 
    location.reload(); 
    } else { 
    if (data.errors != null) { 
     $.each(data.errors, function(key, error) { 
     var field; 
     field = $("#athlete_" + key); 
     field.attr('data-original-title', "" + key + " " + error).tooltip({ 
      trigger: 'manual' 
     }).tooltip("show"); 
     }); 
    } 
    } 
}); 

Hata Mesajı:

+0

Tahmin edeyim - Brogdan'ın cevabı haklıydı, ancak ilk etapta tamamen noobish bir hata olduğu için bunu kabul etmediniz. – heymega

+1

@heymega - Külotlarınız bükülmez hale geldiğinde, – dennismonsewicz

+0

cevabını kabul ettim. Şişman olduğunuzda sizi daha çok beğendim :) – heymega

cevap

125

Uncaught Error: no such method 'show' for tooltip widget instance aynı hata vardı.

jQuery UI ile çakışma yaşadım.

jQuery UI kullanıyorsanız, komut dosyası yükleme sıranızı yeniden başlatmanız gerekir.

Benim çalışma yükü sırası:

  • jQuery
  • jQuery UI
  • Bootstap
+1

Bu harika. Her şeyin doğru olduğunu ve bir anlaşmazlık olduğunu bilmediğini kontrol ettikten sonra hayal kırıklığına uğradım. – resting

+1

Bu harika! Çok basit, ama bu kadar zaman alıcı anlamaya ... işaretçi için teşekkürler! – sappenin

+1

Teşekkür ederim, yanlış yaptığım şeyi bulmak için 20 dakika harcadım! – RolandoCC

1

benim için en kolay çözüm jQuery UI dağıtımından Araç ipuçları bileşenlerini kaldırmak içindi I downloaded.

2

kök bunun ve benzeri sorun jQueryUI ve Boostrap hem ipucu yöntemine sahip

"no such method 'hide' for tooltip widget instance"

,

jQueryUI eserleri gibi:

$el.tooltip("option","show"); 
$el.tooltip("option","hide"); 

Boostrap eserleri gibi: Bogdan Lewis gösteriyordu

$el.tooltip("show"); 
$el.tooltip("hide"); 

Yani, requirejs ile örneğin, komut yeniden sıralamak gerekiyorsa, Boostrap yüklenecek yapmak gerekir jQueryUI

var $ = require('jquery'); 
require('jquery_ui'); 
require('bootstrap'); 
sonra

ve yapılandırmayı gibi şunlar için ayarlayabilirsiniz:

bootstrap: { 
     deps: ['jquery', 'jquery_ui'] 
    },