Я создаю сайт, который предоставит пользователям предварительный просмотр их выбора (изображения).
В настоящее время обе отдельные функции работают, но это немного сбивает с толку, потому что флажок делает одну вещь, но им нужно щелкнуть изображение, чтобы изменить предварительный просмотр. Вот код:
$(".checkbox_collar").change(function(){
$('.tile_collar').css('border', 'none');
$(this).closest('td').find('.tile_collar').css('border', "solid 1px #FC810A");
});
$('.optionsTable').delegate('img','click', function(){
$('#preview_image').attr('src',$(this).attr('src').replace('tile','preview'));
});
Я хочу, чтобы изображение предварительного просмотра (#preview_image) менялось при изменении флажка (.checkbox_collar)
Вот мое предпринятое решение, которое не сработало (чтобы лучше понять, что я пытаюсь сделать:
$(".checkbox_<?=$tabOption?>").change(function(){
$('.tile_collar').css('border', 'none');
$(this).closest('td').find('.tile_collar').css('border', "solid 1px #FC810A");
$('#preview_image').attr('src',$(this).attr('src').replace('tile','preview'));
});
Вышеупомянутое не сработало ... есть ли способ связать их вместе? Так что, когда пользователь щелкает... он добавляет рамку и меняет картинку в $preview_image?
Еще лучше, есть ли способ установить флажок для изображения плитки при нажатии?
По популярному запросу (смеется) я добавил немного HTML; извините за неудобства:
<table class="optionsTable" id="optionsTable">
<tr>
<td><img src="img/option/tile/test.png" width="100px" class="tile_test" style="border: solid 1px #FC810A">
<br>
<input class="checkbox" id="optionRadio" type="radio" name="test" value="1" checked="checked">
</td>
</tr>
</table>
</div><!--option div-->
<div id="option_preview">
<img src="img/option/preview/test.png" width="335px" alt="test">
<div id="option_desc" class="option_desc">Edit</div>
Update here is an update to my code that gets the box to wokr but won't check the check box:
<script type="text/javascript">
$('#optionsTable_<?=$tabOption?>').delegate('img','click', function(){
$('.tile_<?=$tabOption?>').css('border', 'none');
$(this).closest('td').find('.tile_<?=$tabOption?>').css('border', "solid 1px #FC810A");
$('#preview_<?=$optionSku?>').attr('src',$(this).attr('src').replace('tile','preview'));
});
</script>