2016-03-20 48 views
0

對於我的projet,我需要知道如何將某些變量傳輸到異步URL。我使用的插件是一個簡單的彈出窗口,它調用一個URL來獲取html數據並顯示結果。將JavaScript變量傳遞給插件函數(異步URL)

我需要使用$(this)因爲我有很多同類的URls。我必須傳輸數據類型(例如:圖片)和產品的id(data-id)。

我的鏈接= <a href="#" class="product" data-type="picture" id="1">Check this out</a>

什麼我想要做的(但不工作):

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

這可能嗎?我該怎麼做?

注:這裏是我使用的插件(github上:sandywalker/WebUI中,酥料餅)

回答

0

如果要添加變量,那麼你可以不喜歡它:

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

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

您必須初始化webuiPopover單獨爲每個.product元素。做這樣的事情:

$('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>