1

我正在尝试为使用 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>

有任何想法吗?谢谢!

4

5 回答 5

0

尝试

$('select[name=PDTOPTVALUEID0]').on("change",function() {
         $("#Couleur13").html("<img src='"+$(this).val() + ".jpg'/>");
 });
于 2013-02-28T10:47:32.210 回答
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,而不是整个图像

于 2013-02-28T10:47:59.017 回答
0

delegate

$('body').delegate("select[name=PDTOPTVALUEID0]","change",function() {
         $("#Couleur13").html($("<img src='"+$(this).val() + ".jpg'/>");
 });
于 2013-02-28T10:48:45.163 回答
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
于 2013-02-28T10:56:24.770 回答
0

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

1- OnChange="OnChangeOption(); 
2- $('select[name=PDTOPTVALUEID0]').change(); 
于 2013-02-28T10:58:49.313 回答