簡要總結一下我想要做的事情:我爲用戶提供了查看縮略圖圖庫的工具,每個縮略圖圖像都有相應的下載鏈接。點擊下載鏈接後,我向用戶顯示確認div,並假設用戶點擊「同意」,他們將能夠繼續下載縮略圖的全尺寸版本。這個jquery循環有什麼問題?
爲此,我使用中繼器來生成縮略圖。我爲'ItemCreated'事件中的每個鏈接創建一個唯一的ID,以及存儲該縮略圖的目標文件相對路徑的唯一隱藏字段。
當「下載」鏈接,相應的縮略圖用戶點擊,我的代碼應選擇「同意」的鏈接,並更新它與被點擊的項目的隱藏字段值的目標路徑(我希望這是有道理的?)。這基本上意味着無論何時單擊「下載」按鈕,「同意」鏈接都會更新,以指導您訪問正確的文件。
但是我遇到的問題是我的'同意'鏈接永遠不會更新 - 它似乎指向每個縮略圖的同一個文件。
這裏所呈現的縮略圖列表的一個片段:
<div class="download-listing">
<div class="download">
<img src="/img/thumb0.jpg" alt="" />
<div id="downloadLink0" class="dl">Download</div>
<input type="hidden" id="hf0" value="/GetImage.ashx?path=/img/0.jpg" class="hf" />
</div>
<div class="download">
<img src="/img/thumb1.jpg" alt="" />
<div id="downloadLink1" class="dl">Download</div>
<input type="hidden" id="hf1" value="/GetImage.ashx?path=/img/1.jpg" class="hf" />
</div>
<div class="download">
<img src="/img/thumb2.jpg" alt="" />
<div id="downloadLink2" class="dl">Download</div>
<input type="hidden" id="hf2" value="/GetImage.ashx?path=/img/2.jpg" class="hf" />
</div>
</div>
<input id="count" type="hidden" value="3" />
<!-- Hidden popup -->
<div id="popup">
<p><a id="close" class="bClose action">I disagree</a><a id="file-link" class="action" href="#">I agree</a></p>
</div>
希望你可以從我試圖從被點擊了下載隱藏的田間小路上面的代碼中看到的,然後更新#文件鏈接'href'與此值。
的JavaScript/jQuery的我使用(這是哪裏出了問題好像是)如下:
<script type="text/javascript">
$(document).ready(function() {
for (var i = 0; i < $("#count").val(); i++) {
var index = i;
$("#downloadLink" + index).click(function() {
$('#file-link').attr('href', $('#hf' + index).val());
$('#popup').bPopup();
});
}
});
</script>
然而,這一切都不是工作!似乎正在發生的事情是每個下載鏈接指向相同的路徑 - 列表中的最後一個。我無法弄清楚我要去哪裏錯了。有什麼明顯的我失蹤了嗎?
我很感激任何幫助!
感謝
感謝您的幫助。我會選擇你的答案作爲答案,但由於我不知道的.next()函數,Niels'更相關。非常感謝您的輸入,但:-) – alimac83
@ alimac83歡迎:-) – Exception