2013-03-15 61 views
-1

我有渲染这样抢选定的图像ID,并将它们存储到一个int数组

<img id="9" class="thumb" src="/Content/uploads/Jellyfish.jpg"> 
<img id="10" class="thumb" src="/Content/uploads/Lighthouse.jpg"> 
<img id="11" class="thumb" src="/Content/uploads/Chrysanthemum.jpg"> 

图像现在我想抓住这照片是用户点击发送的图片ID到后面将要发送的数组到控制器。

回答

1

可以使用Array push method。如果您希望它具有切换状态,则可以使用类在点击处理程序内做出决定。

var imgList = []; 

$('img.thumb').click(function() { 
    // Toggle the active class 
    $(this).toggleClass('active'); 

    // If the class just became active 
    if ($(this).hasClass('active')) { 
     // Get the image ID 
     var imgId = $(this).attr('id'); 
     // Add the ID to your array 
     imgList.push(imgId); 
    } 
}); 

DEMO

+0

太棒了,有没有机会认出是元素已被点击? – panjo 2013-03-15 22:29:03

+0

@panjo请准确解释你的意思。你想让这些物品只能点击一次吗?也就是说,一旦它被点击,该事件不会被触发该项目了?或者你想让它像开/关状态一样切换? – 2013-03-15 23:35:45

+0

开/关状态将是确切的说明。我需要的。 – panjo 2013-03-16 08:43:24

1
var imgs = array(); 

$('img').click(function(){ 
    imgs[] = $(this).attr('id'); 
}); 

应该工作。

编辑:

对不起,在我的代码中的一些错误,请检查该Fiddle

+0

是否分配给'IMGS []'一个新的项目添加到阵列? – 2013-03-15 21:54:23

+0

说实话,它是在PHP中,我很确定它在JS中是一样的。让我知道如果不是:) – Bill 2013-03-15 21:57:20

+0

我只花足够的时间做JavaScript有点危险;-) – 2013-03-15 22:00:18

相关问题