$('select.farbe-1').change(function() {
var chosen = $(this).find(":selected").text().toLowerCase();
$('img.color-1').attr('src', 'http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/' + chosen + '.jpg');
});
$('select.farbe-2').change(function() {
var chosen = $(this).find(":selected").text().toLowerCase();
$('img.color-2').attr('src', 'http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/' + chosen + '.jpg');
});
$('select.farbe-3').change(function() {
var chosen = $(this).find(":selected").text().toLowerCase();
$('img.color-3').attr('src', 'http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/' + chosen + '.jpg');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="product-choice choice-1">
<img class="color-1" src="http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/blue.jpg">
<select class="farbe-1" name="farbe_1">
<option value="3">Black</option>
<option value="1">Blue</option>
<option value="2">Green</option>
<option value="4">Orange</option>
<option value="0" selected="">Red</option>
</select>
</div>
<div class="product-choice choice-2">
<img class="color-2" src="http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/blue.jpg">
<select class="farbe-2" name="farbe_2">
<option value="3">Black</option>
<option value="1">Blue</option>
<option value="2">Green</option>
<option value="4">Orange</option>
<option value="0" selected="">Red</option>
</select>
</div>
<div class="product-choice choice-3">
<img class="color-3" src="http://www.schiendorfer.info/wordpress/wp-content/plugins/bestellungen/img/color/blue.jpg">
<select class="farbe-3" name="farbe_3">
<option value="3">Black</option>
<option value="1">Blue</option>
<option value="2">Green</option>
<option value="4">Orange</option>
<option value="0" selected="">Red</option>
</select>
</div>
我上面的代码工作,它工作正常。但我必须重复这10次。您可以很容易地看到唯一的区别是select.farbe-**x**
和img.color-**x**
如何减少代码并将其写入“专业”?
编辑:我添加了一个片段;)
使用DOM遍历对引发事件的一个元素链接你想要修改。如果你可以编辑你的问题来包含一个HTML样本,我可以给你一个这样的例子。 –
HTML的结构对于回答您的问题至关重要。 – j08691