การสร้าง qtip พร้อมเนื้อหา ajax ตามพารามิเตอร์ uri ที่คำนวณได้

ฉันมีลิงค์เช่นนั้น

<a href="/th" id="permalink">permalink</a>

ซึ่งฉันได้ผูก qtip2 ไว้เช่นนั้น

$("#permalink").qtip({
    content: {
        text: "Loading...",
        ajax: {
            url: "http://server/app",
            type: "GET",
            data: {
                "uri": $(this).attr("href")
            },
            success: function(data, status) {
                this.set(data);
            }
        }
    }
})
.click(function(event) {
    event.preventDefault();
});

href ได้รับการอัปเดตแบบไดนามิกด้วยโค้ดอื่น (จริงๆ แล้วคือการควบคุมลิงก์ถาวรใน OpenLayers) หากฉันคลิกลิงก์ถาวรโดยไม่มี qtip ฉันจะได้รับ href ที่ถูกต้อง อย่างไรก็ตาม ด้วย qtip $(this).attr("href") จะไม่ได้อะไรเลย มันไม่ได้ตั้งค่า ฉันจะรับ qtip เพื่อรับ href ที่คำนวณแบบไดนามิกได้อย่างไร


person punkish    schedule 22.01.2012    source แหล่งที่มา


คำตอบ (2)


ใช้ "แต่ละ()" คุณควรมีขอบเขตที่ถูกต้องสำหรับ $(this) แล้ว...

$("#permalink").each(function() {
    $(this).qtip({
        content: {
            text: "Loading...",
            ajax: {
                url: "http://server/app",
                type: "GET",
                data: {
                    "uri": $(this).attr("href")
                },
                success: function(data, status) {
                  this.set('content.text', data);
                }
            }
        }
    })
})
.click(function(event) {
    event.preventDefault();
});
person Marcel Abts    schedule 17.06.2012

วิธีแก้ปัญหาข้างต้นใช้งานได้ดี แต่มีการเปลี่ยนแปลงดังต่อไปนี้ ฉันได้ตรวจสอบเวอร์ชันเสถียรล่าสุดนี้แล้ว (v2.0.1)

แทนที่จะ this.set(data); ใช้ this.set('content.text', data);

person puneeth kosaraju    schedule 03.05.2013