我正在尝试使用 JavaScript 创建一种项目选择器。选择器将类似于以下设置:
<label>Stone</label>
<select id="stone">
<option value="aquamarine">Aquamarine</option>
<option value="pink-topaz">Pink Topaz</option>
<option value="tourmaline">Tourmaline</option>
</select>
<label>Metal</label>
<select id="metal">
<option value="silver">Silver</option>
<option value="platinum">Platinum</option>
<option value="white-gold">White Gold</option>
<option value="yellow-gold">Yellow Gold</option>
<option value="rose-gold">Rose Gold</option>
</select>
使用像这样的图像容器:
<img src="path/to/image/silver_aquamarine.jpg" id="imageToSwap">
和JavaScript如下:
$('#stone, #metal').on('change', function() {
$('#imageToSwap').prop('src', ['path/to/image/', $('#metal').val(), '_', $('#stone').val(), '.jpg'].join('')
);
});
所有这一切都很好。我想知道的是(并为不知道如何处理这个问题提前道歉)是否有办法引入与图像相关的其他值。例如,我可以引入与该选择相关的价格吗?
或者,我应该以完全不同的方式来解决这个问题吗?也许是一系列项目,每个项目都有一个图像、价格、石头和金属,这些项目是根据选择显示的,但使用类似于过滤器的东西?
此外,如果该选项不存在,我将需要创建一个后备方案。假设所有组合都存在,除了海蓝宝石 + 玫瑰金。如何添加一条消息说“选项不存在”?
这里的任何帮助将不胜感激。