0

こんにちは、ホバーカードの複数のインスタンスに問題があります。データは ajax を使用して渡されます。ホバーカードは最初のインスタンスでは機能しますが、2 番目のインスタンスでは機能しません。これを修正するのを手伝ってください。jsfiddle はこちら: http://jsfiddle.net/sakirullahi/TnTzk/6/

4

2 に答える 2

2

JSFiddle をチェックアウトする

var hoverHTMLDemoAjax = '<p><label id="username"></label></p>';
$(".demo-ajax").each(function(){
   var _this = $(this);
   _this.hovercard({        
        detailsHTML: hoverHTMLDemoAjax,
        width: 100,
        delay: 500,
        onHoverIn: function () {
            $.ajax({
                url: '/echo/json/',
                type: 'GET',
                dataType: 'json',
                beforeSend: function () {                
                    _this.parent().find("#username").prepend("<p class='loading-text'>Loading ...</p>");
                },
                success: function (data) {   
                   console.log(_this);
                   var justatext="testing text goes here";                   
                    _this.parent().find("#username").html(justatext);                   
                },
                complete: function () {
                    $('.loading-text').remove();
                }
            });
        }
    });

});
于 2012-09-12T12:53:20.410 に答える
1

同じIDの2つのラベルを使用しています。HTMLでそれを使用することはできないため、最初にレンダリングされたラベルのみがそのIDを取得します。代わりにクラスで試してください。

var hoverHTMLDemoAjax = '<p><label class="username"></label></p>';
    $(".demo-ajax").hovercard({        
    detailsHTML: hoverHTMLDemoAjax,
    width: 100,
    delay: 500,
    onHoverIn: function () {
        $.ajax({
            url: '/echo/json/',
            type: 'GET',
            dataType: 'json',
            beforeSend: function () {                
                $(".username").prepend("<p class='loading-text'>Loading ...</p>");
            },
            success: function (data) {   

               var justatext="testing text goes here";                   
                $(".username").html(justatext);                   
            },
            complete: function () {
                $('.loading-text').remove();
            }
        });
    }
});​

http://jsfiddle.net/brightpixel/rDGe5/

于 2012-09-12T12:47:37.010 に答える