Php 我在WP循环中有一个JS脚本弹出窗口,但我可以';我找不到合适的标题来展示

Php 我在WP循环中有一个JS脚本弹出窗口,但我可以';我找不到合适的标题来展示,php,javascript,wordpress,popup,Php,Javascript,Wordpress,Popup,我在WordPress网站上有一个侧边栏,上面列出了许多带有音频文件的帖子。当用户单击侧边栏中的“播放”按钮时,相关音频文件应加载到一个弹出窗口中,该窗口还显示正在播放的音频的标题。目前,我已经将JS脚本放在循环中,但弹出窗口只加载循环中最后一个脚本。。。用户点击侧边栏中顶部的音频链接,但基本上得到底部的音频链接 我知道为什么会发生这种情况,因为PHP首先在服务器上运行,而JS弹出窗口只是获取PHP循环中的最新项。但是我被卡住了。。。如何使弹出窗口获取正确的音频帖子信息?非常感谢您的回答。我必须

我在WordPress网站上有一个侧边栏,上面列出了许多带有音频文件的帖子。当用户单击侧边栏中的“播放”按钮时,相关音频文件应加载到一个弹出窗口中,该窗口还显示正在播放的音频的标题。目前,我已经将JS脚本放在循环中,但弹出窗口只加载循环中最后一个脚本。。。用户点击侧边栏中顶部的音频链接,但基本上得到底部的音频链接


我知道为什么会发生这种情况,因为PHP首先在服务器上运行,而JS弹出窗口只是获取PHP循环中的最新项。但是我被卡住了。。。如何使弹出窗口获取正确的音频帖子信息?非常感谢您的回答。

我必须运行,但是没有代码(在撰写本文时,问题中没有代码;希望会有所改变),我可以猜测。不过这只是个猜测

我想说,您正在循环中创建闭包,如下所示:

for (index = 0; index < data.length; ++index) {
    link = /* ...code to create the link... */;
    title = data[index].title; // Or maybe it's on `link` itself
    link.onclick = function() {
        doNiftyPopup(title);
    };
}
for (index = 0; index < data.length; ++index) {
    link = /* ...code to create the link... */;
    title = data[index].title; // Or maybe it's on `link` itself
    link.onclick = createHandler(title);
}

function createHandler(thisTitle) {
    return function() {
        doNiftyPopup(thisTitle);
    };
}
现在,对
createHandler
的每次调用都会在为该特定调用创建的
thisTitle
参数上创建一个闭包-每个闭包都有自己的东西要关闭


更多信息:

发布一些代码会有帮助:)如果你引用你的代码会有很大帮助。具体来说,我认为侧边栏的JavaScript和呈现的HTML将是关键。