как После того как radio checked запустить ajax?
Проблема в том что на событии click() не input[type=checkbox] не успевает стать checked и сразу отправляеться ajax. А надо сделать так сначала checked потом, checked.val() вставляеться в ajax и отправляет.
Структура: <ul class="test"> <li><label><img src="1.jpg"><input type="radio" name="cur" value="1"></label></li> <li><label><img src="2.jpg"><input type="radio" name="cur" value="2"></label></li> <li><label><img src="3.jpg"><input type="radio" name="cur" value="3"></label></li> <li><label><img src="4.jpg"><input type="radio" name="cur" value="4"></label></li> <li><label><img src="5.jpg"><input type="radio" name="cur" value="5"></label></li> </ul> jquery : $('.test li').click(function() { var selectedCurrency1 = jQuery('.test li input:checked').val(); var selectedCurrency2 = jQuery('.test li input:checked').val(); jQuery.ajax({ type: "POST", url: "processor.php", data:"id1="+selectedCurrency1+"&id2="+selectedCurr ency2+"", beforeSend: function(html) { $('.ui-loader').show('fade'); }, success: function(data){ $('.ui-loader').hide('fade'); jQuery('#rechargeStep3').empty(); jQuery('#rechargeStep3').html(data); } }); Как я сказал эта функция Иногда(на 3 или 4 клике) не успевает стать "ЧЕКЕД" и выходит Каша:( Уважаемые Javascript кодеры прошу помочь! |
событие change. Либо по click просто инвертировать checked
|
var selectedCurrency1 = jQuery('.test li input:checked').val();
var selectedCurrency2 = jQuery('.test li input:checked').val(); че это значит? Можно еще дописать var selectedCurrency3 = jQuery('.test li input:checked').val(); var selectedCurrency4 = jQuery('.test li input:checked').val(); .... правда весело? |
<script src="http://code.jquery.com/jquery-latest.js"></script> <div id=out>Тут результ</div> <ul class="test"> <li><label><img src="1.jpg"><input type="radio" name="cur" value="1"></label></li> <li><label><img src="2.jpg"><input type="radio" name="cur" value="2"></label></li> <li><label><img src="3.jpg"><input type="radio" name="cur" value="3"></label></li> <li><label><img src="4.jpg"><input type="radio" name="cur" value="4"></label></li> <li><label><img src="5.jpg"><input type="radio" name="cur" value="5"></label></li> </ul> <script> $('.test input').change(function() { var selectedCurrency=[]; var radioList = $('.test li input'); for(i=0;i<5; i++){ selectedCurrency[i]= radioList.eq(i).parent().children(':checked').val(); if(!selectedCurrency[i])selectedCurrency[i]='no'; } $('#out').html('<b>val: </b> '+selectedCurrency.join(', ')) /* $.ajax({ type: "POST", url: "processor.php", data:"id1="+selectedCurrency1+"&id2="+selectedCurr ency2+"", beforeSend: function(html) { $('.ui-loader').show('fade'); }, success: function(data){ $('.ui-loader').hide('fade'); $('#rechargeStep3').empty(); $('#rechargeStep3').html(data); } */ }); </script> Не наю - у меня все переключается |
Часовой пояс GMT +3, время: 10:29. |