如何在大胆的弹出窗口中获取数据属性?

时间:2013-12-29 10:19:07

标签: php jquery

有没有办法使用大胆的弹出窗口获取数据属性?我有一个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);

  // });
}

2 个答案:

答案 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');