Mam nadzieję, że nikt nie będzie miał nic przeciwko odświeżeniu tego tematu. Skorzystałem ze skryptu luckyps, ale mam ten sam problem co na początku Beneglih. Niestety jQuery jest dla mnie czarną magią, więc nie wiem co poszło nie tak.
Tak wygląda kod formularza:
<input type = "radio" name = "vote" value = "Test 1"/><img class = "pic1" src = "/pics/1.jpg"/> <input type = "radio" name = "vote" value = "Test 2"/><img class = "pic1" src = "/pics/2.jpg"/> <input type = "radio" name = "vote1" value = "Test 3"/><img class = "pic2" src = "/pics/3.jpg"/> <input type = "radio" name = "vote1" value = "Test 4"/><img class = "pic2" src = "/pics/4.jpg"/>
A oto skrypt luckyps (dodałem drugą wartość, tak jak sugerował Beneglih, ale z jakiegoś powodu nie działa jak powinno):
<script type='text/javascript'> //Skrypt autorstwa luckyps:
<a href="http://forum.php.pl/index.php?s=&showtopic=179131&view=findpost&p=877218" target="_blank">http://forum.php.pl/index.php?s=
&showt...st&p=877218</a>$("input:radio").hide();
$(".pic1, .pic2").css({opacity: "0.5"});
$("img").click(function(){
element = this.previousSibling;
element.checked = true;
$("input:radio").hide();
$(".pic1, .pic2").animate({
opacity: "0.5", //
}, 500 ); // szybkosc animacji w ms
$(this).animate({
opacity: "1.0",
}, 500 ); // szybkosc animacji w ms
})
Zrobiłem to w takiej kolejności:
<td><input type = "radio" name = "vote" value = "Test 1"><img class = "pic1" src = "/pics/1.jpg"/></input> <input type = "radio" name = "vote" value = "Test 2"><img class = "pic1" src = "/pics/2.jpg"/></input></td> <script type='text/javascript'> //Skrypt autorstwa luckyps:
<a href="http://forum.php.pl/index.php?s=&showtopic=179131&view=findpost&p=877218" target="_blank">http://forum.php.pl/index.php?s=
&showt...st&p=877218</a>$("input:radio").hide();
$(".pic1").css({opacity: "0.5"});
$("img").click(function(){
element = this.previousSibling;
element.checked = true;
$("input:radio").hide();
$(".pic1").animate({
opacity: "0.5", //
}, 500 ); // szybkosc animacji w ms
$(this).animate({
opacity: "1.0",
}, 500 ); // szybkosc animacji w ms
})
<td><input type = "radio" name = "vote1" value = "Test 3"><img class = "pic2" src = "/pics/3.jpg"/></input> <input type = "radio" name = "vote1" value = "Test 4"><img class = "pic2" src = "/pics/4.jpg"/></input></td> <script type='text/javascript'> //Skrypt autorstwa luckyps:
<a href="http://forum.php.pl/index.php?s=&showtopic=179131&view=findpost&p=877218" target="_blank">http://forum.php.pl/index.php?s=
&showt...st&p=877218</a>$("input:radio").hide();
$(".pic2").css({opacity: "0.5"});
$("img").click(function(){
element = this.previousSibling;
element.checked = true;
$("input:radio").hide();
$(".pic2").animate({
opacity: "0.5", //
}, 500 ); // szybkosc animacji w ms
$(this).animate({
opacity: "1.0",
}, 500 ); // szybkosc animacji w ms
})
Wszystko działa tak długo, jak klika po kolei. Czyli najpierw Test1/Test2 a później Test3/Test4. Problem występuje wtedy kiedy najpierw zaznaczam Test3/Test4, a następnie Test1/Test2. Wtedy odznaczeniu ulega Test3/Test4. Da się to jakoś usprawnić, aby kolejność nie była ważna?
Mógłbym prosić o jakąś poradę? Niestety nadal nie jestem w stanie rozwiązać tego problemu