jQuery/更改图像基于下拉选择
jQuery/change image based on dropdown selection
我有一个现有的电子商务页面,我有一个下拉菜单的代码:
<select data-optgroup="10201" class="prodoption detailprodoption" onchange="updateoptimage(0,0)" name="optn0" id="optn0x0" size="1"><option value="">Please Select...</option><option value="102011" class="">Small</option>
<option value="102012" class="">Medium</option>
<option value="102013" class="">Large</option>
<option value="102014" class="">XL</option>
<option value="102015" class="">2XL (+$3.00)</option>
<option value="102016" class="">3XL (+$5.00)</option>
<option value="102017" class="">4XL (+$7.00)</option>
<option value="102018" class="">5XL (+$7.00)</option>
</select>
我需要能够插入一个图像,并有基于下拉选择的图像更改。我知道如何插入一个图像使用jquery函数,但不知道如何改变它。这应该是一个相对容易的任务,但似乎不能弄清楚。我认为我需要建立一个数组,匹配下拉菜单的值到我想要的img src。如果可能的话,我还想包含一个通过php生成的php变量。我知道这是一团乱麻,但无论我能得到什么指导,我都很感激。
var phpcode = [ <?php = ...... ?> ]
var pictureList =
[ '10211' , 'images/sample1'],
[ '10212' , 'images/sample2'],
[ '10213' , 'images/sample3'],
[ '10214' , 'images/sample4'],
[ '10215' , 'images/sample5'];
$('.detailprodoption').change(function () {
$('img').attr("src",pictureList[],phpcode[],".jpg");
});
我需要的最终输出类似于"images/sample5-phpcode.jpg
我认为最简单的方法是为您选择的option
s添加一些data-
属性。如:
<select data-optgroup="10201" class="prodoption detailprodoption">
<option value="1000" data-img-src="some/path/img1.jpg">value</option>
<option value="1001" data-img-src="some/path/img2.jpg">value</option>
<option value="1002" data-img-src="some/path/img3.png">value</option>
<!-- More options here -->
</select>
之后,您的change
可以,例如:
$('.detailprodoption').change(function () {
$('img').attr("src", $( this ).find( "option:selected" ).data( "img-src" ));
});
另一种方法是为pictureList
生成一个有效的数据结构,因为您现在拥有的是无效的。以下可能是你想要的。
var phpcode = "whatisthis";
//Generate a proper data structure
var pictureList = {
'102012': 'images/sample2',
'102013': 'images/sample3',
'102014': 'images/sample4',
'102015': 'images/sample5',
'102016': 'images/sample6',
'102017': 'images/sample7',
'102018': 'images/sample8'
};
$('.detailprodoption').change(function() {
//Set image src when the selected value isn't empty
$('img').attr({
"src": this.value && [pictureList[this.value], "-", phpcode, ".jpg"].join("") || ""
});
});
下面是上述代码的演示。
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 提交后保留下拉选择的值
- JavaScript连接多个下拉选择
- jQuery基于下拉选择更新帮助文本
- Laravel 5.2动态下拉选择不填充(javascript)
- JavaScript-取决于多个下拉选择或复选框的动态链接
- 如何基于两个下拉选择从数据库中检索数据
- 根据下拉选择向表单添加和删除输入标记
- 使用下拉选择菜单高亮显示一行表格单元格
- 如何在HTML表单中提交我的下拉选择
- 如何根据下拉选择来选择数组的第一列
- 显示/隐藏下拉选项取决于另一个下拉选择
- 填充文本框取决于php中的下拉选择
- 显示基于下拉选择yii 2设置的字段
- 从数据库加载记录,不带提交按钮的下拉选择
- 如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
- 在ember js中进行新的下拉选择
- 在PHP中将下拉选择列表的内容从一个表单传递到另一个表单
- 显示依赖于下拉框选择的表单字段
- Javascript getElementById()适用于文本框,但不适用于;不能使用单选按钮或下拉选择器