如果我理解正确,您希望将图像附加到选择的每个选项,而不是在选择选项时显示图像。
为此,我在选项上设置了一个自定义属性,myImg
其值为男孩和女孩的图像,我使用随机图像(获取它们需要一段时间)。
<select id="boy" class="list">
<option value="">Boy picture...</option>
<option value="1" myImg="http://randomimage.setgetgo.com/get.php?height=50&width=50">Picture 1</option>
<option value="2" myImg="http://randomimage.setgetgo.com/get.php?height=50&width=50">Picture 2</option>
<option value="3" myImg="http://randomimage.setgetgo.com/get.php?height=50&width=50">Picture 3</option>
<option value="4" myImg="http://randomimage.setgetgo.com/get.php?height=50&width=50">Picture 4</option>
</select>
在change event
我获取属性$('option:selected', this).attr('myImg')
并设置图片div的css background-image
:
$('#boy').on('change', function () {
$('select').removeClass('activeList');
$(this).addClass('activeList');
$(".picture").css('background-image', 'url(' + $('option:selected', this).attr('myImg') + ')');
});
$('#girl').on('change', function () {
$('select').removeClass('activeList');
$(this).addClass('activeList');
$(".picture").css('background-image', 'url(' + $('option:selected', this).attr('myImg') + ')');
});
这是一个工作小提琴:http: //jsfiddle.net/IrvinDominin/LT8zc/
如果我不明白我喜欢开发这个的问题:-)
编辑
如果您想在图像上设置 no-repeat,请将其设置为:
$(".picture").css({
'background-image': 'url(' + $('option:selected', this).attr('myImg') + ')',
'background-repeat': 'no-repeat'
});
或将其定义为常规 css 规则(不是通过 jQuery 设置的)
小提琴:http: //jsfiddle.net/IrvinDominin/LT8zc/1/