有没有办法使用大胆的弹出窗口获取数据属性?我有一个for循环语句,为了获取每个数据的id,我添加了data-item属性。
<?php foreach ($showItems as $items) { ?>
<tr>
<td><?php if(!empty($items['ItemCode'])) echo $items['ItemCode'], ' '; ?><input type="hidden" name="pid" id="pid" value="<?php echo $items['ItemCode']; ?>" /></td>
<td><img src="" /></td>
<td><?php if(!empty($items['Name'])) echo $items['Name'], ' '; ?></td>
<td><?php if(!empty($items['Price'])) echo $items['Price'], ' '; ?></td>
td><?php if(!empty($items['Description'])) echo $items['Description'], ' '; ?></td>
<td><input type="text" name="qty" id="qty" maxlength="3" size="2" /></td>
<td ><a class="popup-modal" href="#test-modal" data-item="111" >Add To Registry</a></td>
</tr>
<?php } ?>
我测试一旦触发了大量弹出窗口,就使用警报功能获取项目。
$('.popup-modal').magnificPopup({
preloader: true,
callbacks : {
open : function(){
var self = $(this);
var id = self.data('item');
alert(id);
// });
}
答案 0 :(得分:2)
我一直在寻找这个,最后在this post
找到答案为了节省其他用户的时间,只需复制/粘贴解决方案,谢谢@stefanz和@Konpaka:
$('.popup').magnificPopup({
type : 'image',
callbacks : {
open : function(){
var mp = $.magnificPopup.instance,
t = $(mp.currItem.el[0]);
console.log( t.data('custom') );
}
}
});
对于Magnific Popup v0.9.8:
var magnificPopup = $.magnificPopup.instance,
cur = magnificPopup.st.el;
console.log(cur.attr('myatt'));
答案 1 :(得分:0)
只需使用
var id=self.attr('data-item');
而不是
var id = self.data('item');