2016-03-20 16 views
0

Projektörüm için bazı değişkenleri bir async url'ye nasıl iletebileceğimi bilmem gerekiyor. Kullandığım eklenti, html verilerini almak ve sonucu göstermek için bir URL çağıran basit bir popover.javascript değişkenini bir plugin işlevine ilet (async URL)

$ (this) kullanmam gerekiyor çünkü aynı sınıfta birçok URls var. Veri türünü (örn: resim) ve ürünün kimliğini (veri kimliği) iletmeliyim.

bağlantım = <a href="#" class="product" data-type="picture" id="1">Check this out</a>

Ne yapmak istediğim (ama çalışmıyor): Mümkün

$('.product').webuiPopover({ 
    var productType = $(this).data('type'); 
    var id = $(this).data('id'); 
    type:'async', 
    url:'/api/popover/'+ productType +'/'+id 
}); 

mi? Bunu nasıl yapabilirim?

Not: Burada kullandığım eklentidir (github: sandywalker/webui-popover)

cevap

0

sonra değişken eklemek istiyorsanız hoşuna yapabilirsiniz:

$('.product').each(function(i,t){ 
    var t = $(t); 

    t.webuiPopover({ 
     type:'async', 
     url:'/api/popover/'+ t.data('type') +'/'+ t.data('id') 
    }); 
}); 
0

Sen webuiPopover başlatmak zorunda Her bir .product öğesi için ayrı ayrı. Böyle bir şey yapın:

$('div').each(function(index, el){ 
 
    $(el).webuiPopover({ 
 
    \t title: $(el).data('foo') // Direct access to the data attributes of this element 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.jsdelivr.net/jquery.webui-popover/1.2.5/jquery.webui-popover.min.js"></script> 
 

 
<div data-foo="First title">Hello</div> 
 
<div data-foo="Second title">Goodbye</div>

İlgili konular