JQuery / javascript doubleclick =在foreach()php的每个div上做一些事情

时间:2015-05-24 09:53:07

标签: javascript php jquery html mysql

我有这个PHP文件:

foreach($allfiles as $file) {
    echo '<div class="file" id="file' . $file->id . '">';
        echo '<div id="checkbox"><a href="delete?file=' . $file->id . '" class="delete"><img src="images/delete.png" width="15" height="15"></img></a></div>';
        echo '<div id="filename">'. $file->name . '</div>';
        echo '<div id="size">| '. $file->size . ' </div>';
        echo '<div id="created">'. $file->created . '</div>';
        echo '<div id="download"><a href="download?' . $file->id . '"><img src="images/download.png" width="18" height="18"></img></a></div>';
    echo '</div>';
    ?>
    <script>
        var id = <?php echo $file->id; ?>
    </script>
    <?php
}

和这个JS文件

$('#file' + id).dblclick(function() {
    alert(1);
});

我想做的是当div&#34; file&#34; +点击文件ID,它会提示&#34; 1&#34; (或打开文件)。 问题是,现在它只在我双击最后一个div时才发出警报1,而它应该在所有这些上完成。 是否有类似foreach div的解决方案,称为文件+有什么用?双击时。

很抱歉,如果这一点非常不清楚:D

1 个答案:

答案 0 :(得分:0)

您可以使用data-*前缀自定义属性,例如

echo '<div class="file" data-id="' . $file->id . '">';

使用公共类绑定您的活动,然后使用.data()

获取data-id
$('.file').on('dblclick', function() {
    alert($(this).data('id'));
});