2014-11-04 74 views
1

的Javascript动态varible我有一个项目的目录,它们都通过while循环所有项目显示有一个说明,它可以与ZeroClipboard插件被复制。

我需要做下面的代码创建一个客户端为每个.itemDescriptionContainer的的。所以我复制正确的数据。

我创建与该项目的含有描述.itemDescriptionContainer


当前代码的ID的属性 - 我试图(和不工作)

HTML

//While Loop 
<div class="itemDescriptionContainer"> 
    <div id="copy-button" data-clipboard-target="copyDescription">Copy Description<div> 
    <div id="copyDescription"> 
</div> 
//endwhile 

的Javascript

$(".itemDescriptionContainer").each(function(index){ 
    var client = new ZeroClipboard(document.getElementById("copy-button")); 

    client.on("ready", function(readyEvent) { 
     client.on("aftercopy", function(event) { 
      event.target.innerHTML = "Description Copied!"; 
     }); 
    }); 
}); 

*下面的代码是有点儿工作,它仅复制的第一个项目在while循环的描述

HTML

//While Loop 
<div class="itemDescriptionContainer" data-itemID="{{{$item->id}}}"> 
    <div id="copy-button-{{{$item->id}}}" data-clipboard-target="copyDescription-{{{$item->id}}}">Copy Description<div> 
    <div id="copyDescription-{{{$item->id}}}"> 
</div> 
//endwhile 

的Javascript

var itemID = $(this).attr('data-itemID'); 
    // Attach itemID to client somehow to make a client instance unique. 

    var client = new ZeroClipboard(document.getElementById("copy-button")); 

    client.on("ready", function(readyEvent) { 
     client.on("aftercopy", function(event) { 
      event.target.innerHTML = "Description Copied!"; 
     }); 
    }); 
+1

什么是您的HTML? – dfsq 2014-11-04 15:23:44

+0

请写全文。 – 2014-11-04 15:24:29

+1

你期待与你的代码发生什么,实际上是在开心吗? – dm03514 2014-11-04 15:24:34

回答

0

我固定在使用的窗口函数的问题,我希望有能找到这个有用。

$(".itemDescriptionContainer").each(function(){ 
    var itemID = $(this).attr('data-itemID'); 

    // Copy Item Description 
    var dynamic = window["client" + itemID] = new ZeroClipboard(document.getElementById("copy-button-"+itemID)); 

    dynamic.on("ready", function(readyEvent){ 
     dynamic.on("aftercopy", function(event){ 
     event.target.innerHTML = "Description copied!"; 
     }); 
    }); 

});