jQuery - 通过选择选项加载图像

时间:2013-02-28 10:44:36

标签: javascript jquery image select

我正在尝试为使用jQuery选择的每个选项显示不同的图像(带有DIV <div id="Couleur13"></div>),当我选择另一个选项(但不是预选的选项)时它会起作用,并且它在一秒后消失负荷。

这是HTML(我无法修改此部分):

<select class="PB" name="PDTOPTVALUEID0" size="1" OnChange="OnChangeOption();">
    <option value="504031" selected="selected" >NATUREL - BRUT</option>
    <option value="504032">CIRE - TEINTE MOYEN</option>
    <option value="504033">CIRE - TEINTE FONCE</option>
    <option value="504034">COULEUR - NOIR</option>
    <option value="504035">COULEUR - BLANC</option>
    <option value="504036">COULEUR - GRIS SOURIS CLAIR</option>
    <option value="504037">COULEUR - GRIS SOURIS FONCE</option>
    <option value="504038">COULEUR - GRIS PASTEL</option>
    <option value="504041">COULEUR - GRIS ANTHRACITE</option>
    <option value="504043">COULEUR - IVOIRE</option>
    <option value="504044">COULEUR - BEIGE</option>
    <option value="504045">COULEUR - CREME</option>
    <option value="504046">COULEUR - TAUPE</option>
    <option value="504047">COULEUR - JAUNE DOUX</option>
    <option value="504048">COULEUR - ROUGE CARMIN</option>
    <option value="504049">COULEUR - BORDEAUX</option>
    <option value="504050">COULEUR - CHOCOLAT</option>
    <option value="504051">COULEUR - WENGE CLAIR</option>
    <option value="504052">COULEUR - WENGE</option>
    <option value="504053">COULEUR - BLEU AZUR</option>
</select>

这是jQuery代码:

<script type="text/javascript">
$(document).ready(function(){
    $('select[name=PDTOPTVALUEID0]').change(function() {
        $("#Couleur13").html($("<img />", { src: "http://www.unmeubleenpin.com/" + $(this).val() + ".jpg" }));
    });
});
</script>

有什么想法吗?谢谢!

5 个答案:

答案 0 :(得分:0)

尝试

$('select[name=PDTOPTVALUEID0]').on("change",function() {
         $("#Couleur13").html("<img src='"+$(this).val() + ".jpg'/>");
 });

答案 1 :(得分:0)

试试这个:

<div id="Couleur13">
    <img src="default.png"/>
</div>

$(document).ready(function(){
    $('select[name=PDTOPTVALUEID0]').change(function() {
        var val = this.options[this.selectedIndex].value;
        $("#Couleur13 > img").attr('src', val + ".jpg");
    });
});

但我建议你改变图像的src,而不是整个图像

答案 2 :(得分:0)

delegate

$('body').delegate("select[name=PDTOPTVALUEID0]","change",function() {
         $("#Couleur13").html($("<img src='"+$(this).val() + ".jpg'/>");
 });

答案 3 :(得分:0)

change上触发doc ready更改为:

$('select[name=PDTOPTVALUEID0]').removeAttr('OnChange');
$('select[name=PDTOPTVALUEID0]').change(function() {
   $("#Couleur13").html($("<img />", { src: $(this).val() + ".jpg" }));
}).change(); // <------------trigger it this way here

答案 4 :(得分:0)

为什么你需要两个onchange函数? ,我想它会在你的情况下产生问题.try执行一个

1- OnChange="OnChangeOption(); 
2- $('select[name=PDTOPTVALUEID0]').change();