我有一个包含长文件名的图像的文件夹,但它们在开头都有唯一的产品ID号
e.g。的 1023 - 非常隆 - 图像-Name.jpg。
我尝试做的是通过使用这个唯一的ID号码将完整的图像文件名添加到我的javascript中。
e.g。我需要找到ID 1023 的图片,就是这张图片 - 1023-Very-Long-Image-Name.jpg
存储在JSON数据库中的所有唯一ID。以下是我的代码示例:
$('.choose-range-cta').click(function () {
var rowID = $(this).attr("id");
var stylesTable = JSON.parse(stylesDB);
var styleHTML = "";
for (var i = 0; i < stylesTable.length; i++) {
if (stylesTable[i].collectionID == rowID) {
var blockTitle = stylesTable[i].styleName;
var blockPrice = stylesTable[i].fromPrice;
var blockSize = stylesTable[i].size;
var blockImageID = stylesTable[i].frontImageID;
styleHTML += "<div class=\"col-lg-4 style-block\"><a href=\"#\"><span class=\"style-name\">" + blockTitle + "</span><span class=\"from-price\">from £" + blockPrice + "</span><span class=\"cta\">Select</span><div class=\"img-box\"><img src=\"" + ImagePath + blockImageID +"\"></div><span class=\"copy\">" + blockSize + "</span></a></div>";
}
}
$('#style-list').html(styleHTML);
});
&#13;
答案 0 :(得分:1)
假设您的列表是数组,请使用filter
:
var imageArray = [
'1021-Don-Long-Image-Name.jpg',
'1022-Very-Long-Image-Name.jpg',
'1023-Dan-Long-Image-Name.jpg',
'1024-BobLong-Image-Name.jpg'
];
function getName(data, id) {
return data.filter(function (el) {
return el.substring(0, 4) === id;
})[0];
}
var name = getName(imageArray, '1023'); // 1023-Dan-Long-Image-Name.jpg