Показать сообщение отдельно
  #1 (permalink)  
Старый 19.05.2012, 23:59
Новичок на форуме
Отправить личное сообщение для dmonco Посмотреть профиль Найти все сообщения от dmonco
 
Регистрация: 19.05.2012
Сообщений: 3

Для тех кто любит простые сложные задачи
Есть html код
<fieldset>
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_3"   value="3" checked="checked">
<input type="radio" name="jl_payment_methods" style="display:none" value="ACC" id="jl_payment_methods_All Credit Card (internationally)"/>
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_6"   value="6" >
<input type="radio" name="jl_payment_methods" style="display:none" value="VSA" id="jl_payment_methods_VISA Card (internationally)"/>
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_7"   value="7" >
<input type="radio" name="jl_payment_methods" style="display:none" value="ewallet" id="jl_payment_methods_Ewallet"/>
<input type="radio" name="jl_payment_methods" style="display:none" value="MAE" id="jl_payment_methods_Maestro (UK Spain Autria)"/>
</fieldset>

Сразу говорю, где он находится, хрен его знает. Выводится с помощью такой конструкции:
<?php
     if ($this->found_payment_method) {


    echo "<fieldset>";
		foreach ($this->paymentplugins_payments as $paymentplugin_payments) {
		    if (is_array($paymentplugin_payments)) {
				foreach ($paymentplugin_payments as $paymentplugin_payment) {
			    echo $paymentplugin_payment.'<br />';
				}
		    }
		}
    echo "</fieldset>";

    } else {
	 echo "<h1>".$this->payment_not_found_text."</h1>";
    }

    ?>

Как видите в html есть radio buttons - три выбора. Под каждым выбором есть дополнительный radio c style="display:none"
Нужно чтобы при нажатии активировался соответствующий с style="display:none"

Вариант 1.
Мне кажется надо сначала удалить style="display:none" и добавить type hidden, остается вопрос, как связать нажатый radio c input hidden.

Вариант 2.
Чтобы не заморачиваться. Сейчас видно, что у каждого radio свой value, например, value="3"
Сделать проверку, какой radio выбран, взять его значение и сравнить. Если значение к примеру равняется ==3, то добавляем ещё одну строку input hidden value="ACC"
ACC - это вид платежа.
Перед <form> добавил этот код, но он почему-то не работает.
<script src="jquery.js" type="text/javascript"></script>
	<script type="text/javascript">
	$(document).ready(function(){	
$('input[type="radio"]').click(function(e) {
	
	var id = $(this).val();

if (id==3) 
{	
	$('input[type=radio][value=ACC]').attr('checked', 'checked');
}

if (id==6) 
{
	$('input[type=radio][value=VSA]').attr('checked', 'checked');
}

if (id==7)
{
	$('input[type=radio][value=ewallet]').attr('checked', 'checked');
}

});});
</script>
Ответить с цитированием