Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вывод выбранного элемента radio. Срабатывает только во второй раз. (https://javascript.ru/forum/events/30587-vyvod-vybrannogo-ehlementa-radio-srabatyvaet-tolko-vo-vtorojj-raz.html)

Mukhtar 09.08.2012 11:33

Вывод выбранного элемента radio. Срабатывает только во второй раз.
 
Добрый день.
У меня проблема.
Есть input type=radio
<div id="result"></div>
<input type="radio" name="choosetemp" id="labeled_2" {if $user_style=='diamond-black'}CHECKED{/if} value="diamond-black"/>
										<label for="labeled_2"><img class="controls_thumb" src="img/diamond-black-small.png" alt="" onClick="getChecked();" /></label>
<input type="radio" name="choosetemp" id="labeled_3" {if $user_style=='golden-shine'}CHECKED{/if} value="golden-shine"/>
										<label for="labeled_3"><img class="controls_thumb" src="img/golden-shine-small.png" alt=""  onClick="getChecked();"/></label>
									</label>

и jquery
function getChecked(){ 
					
						var output=jQuery("input:radio[name=choosetemp]:checked").val();
						 jQuery('#result').html(output);
					}

то есть, при нажатии на определенную картинку выбирается радиокнопка, и в див "result" должен вывести value этой радио кнопки.
Все работает, но криво. В див при нажатии на картинку выводится результат предыдущего выбора, а по второму щелчку выводится текущий.
как исправить это? Чтобы при нажатии один раз на картинку вывелся тот результат, который выбирается.

Deff 09.08.2012 12:07

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>


<div id="result"></div>
	   <label for="labeled_2">
            <input type="radio" name="choosetemp" id="labeled_2" value="diamond-black">

            
              <img class="controls_thumb" src="http://mybb.ru/f/collection/0208.gif" alt="" onclick="getChecked();">
            </label>


            <label for="labeled_3">
            <input type="radio" name="choosetemp" id="labeled_3" value="golden-shine">

              <img class="controls_thumb" src="http://i053.radikal.ru/0806/7f/8b80a2497566.gif" alt="" onclick="getChecked();">
            </label>

<script type="text/javascript">

function getChecked(){
setTimeout(function(){
	
  var output=$("input[name='choosetemp'][checked]:radio").val();
  $('#result').html(output);

},120);}

</script>

Mukhtar 09.08.2012 12:17

Цитата:

Сообщение от Deff (Сообщение 195839)
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>


<div id="result"></div>
	   <label for="labeled_2">
            <input type="radio" name="choosetemp" id="labeled_2" value="diamond-black">

            
              <img class="controls_thumb" src="http://mybb.ru/f/collection/0208.gif" alt="" onclick="getChecked();">
            </label>


            <label for="labeled_3">
            <input type="radio" name="choosetemp" id="labeled_3" value="golden-shine">

              <img class="controls_thumb" src="http://i053.radikal.ru/0806/7f/8b80a2497566.gif" alt="" onclick="getChecked();">
            </label>

<script type="text/javascript">

function getChecked(){
setTimeout(function(){
	
  var output=$("input[name='choosetemp'][checked]:radio").val();
  $('#result').html(output);

},20);}

</script>

:dance: Работает. Спасибо огромное! Выручили!

Deff 09.08.2012 12:19

Mukhtar,
:) Поправил


Часовой пояс GMT +3, время: 14:41.