Je construis un site qui donnera aux utilisateurs un aperçu de leur sélection (image). En l'état actuel, les deux fonctions individuelles fonctionnent, mais c'est un peu déroutant car, la case à cocher fait une chose, mais ils doivent cliquer sur l'image pour changer l'aperçu. Voici le code:Changer l'image sur la case à cocher Jquery
$(".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'));
});
Je veux l'image d'aperçu (#preview_image) pour changer le changement de case à cocher (.checkbox_collar)
Voici ma tentative de solution, qui ne fonctionne pas (pour donner une meilleure idée de ce que je suis en train de faire:
$(".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'));
});
ci-dessus ne fonctionne pas ... est-il un moyen de lier les deux ensemble de sorte que lorsque l'utilisateur clique ... il ajoute la frontière? et change la photo dans $ preview_image?
Mieux encore, est-il possible d'avoir l'image de la case cocher la case si on clique dessus?
Par domand populaire (lol), j'ai ajouté som HTML; désolé pour tout inconvénient:
<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>
mise à jour est ici une mise à jour de mon code qui est la boîte à WOKR mais ne sera pas cocher la case à cocher:
<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>
Publiez une partie de votre code HTML ou mieux encore, mettez ceci sur jsfiddle.net – griegs