2013-09-22 117 views
0

我正在使用CMS的事件,這個CMS不支持多種付款選擇,所以我設法做了一些修改的核心,我已經添加了一些新的類,控制器,助手,和模型,所以我可以添加多個支付選擇,我這樣做是因爲上次我問如何對CMS進行修改時,您告訴我不是更改核心,而是根據需要添加新的類或控制器,以便安全風險將是最小的,所以這就是我所做的...更改attr根據選擇輸入

反正多支付系統的「工作」有小小的瑕疵... 用戶必須選擇2點主要的選擇

1是選擇該每月的百分比 另一種是用於選擇付款方式,如PayPal,eWay,Google Checkout,Payza等...

因此,每筆付款都有不同的費率類型的說話......但在這種情況下,他們每月支付率和付款方式都有相同的速度...

所以我想知道,而不是點擊兩個類似的選項,爲什麼不只是點擊一個選項,並將值傳遞給另一個選項沒有需要再次點擊...

我已簡化了HTML代碼以便更好地理解

<div class="hides"> 
    <p class="title">This area is not visible in a live site<p><br> 
<input type="radio" checked="checked" name="eb_PagosMensuales" value="Un Solo Pago (0%)" class="inputbox flush">Un Solo Pago (0%) 
<br> 
<input type="radio" name="eb_PagosMensuales" value="3 Meses (+4.55%)" class="inputbox flush">3 Meses (+4.55%) 
<br> 
<input type="radio" name="eb_PagosMensuales" value="6 Meses (+7.25%)" class="inputbox flush">6 Meses (+7.25%) 
<br> 
<input type="radio" name="eb_PagosMensuales" value="9 Meses (+11.25%)" class="inputbox flush">9 Meses (+11.25%) 
<br> 
<input type="radio" name="eb_PagosMensuales" value="12 Meses (+13.50%)" class="inputbox flush">12 Meses (+13.50%) 
<br> 
</div> 

<hr /> 

<div> 
<input type="radio" checked="checked" value="os_paypal" name="payment_method" onclick="changePaymentMethod();">Paypal 0% Intereses <br> 
<input type="radio" value="os_paypal3" name="payment_method" onclick="changePaymentMethod();">Paypal a 3 Meses con 4.55% de Interes <br> 
<input type="radio" value="os_paypal4" name="payment_method" onclick="changePaymentMethod();">PayPal a 6 Meses con 7.25% de Interes <br> 
<input type="radio" value="os_paypal5" name="payment_method" onclick="changePaymentMethod();">Paypal a 9 Meses con 11.25% de Interes <br> 
<input type="radio" value="os_paypal6" name="payment_method" onclick="changePaymentMethod();">Paypal a 12 Meses con 13.50% de Interes <br> 
</div> 

如果用戶選擇

貝3,然後用值的輸入單選按鈕 「3個月前(+ 4.55%)」 將被選擇自動

如果用戶選擇

貝6,然後用值的輸入單選按鈕「6個月前(+ 7.25%),」將selectec自動

等等...

這就是我想要查詢使用...我知道這是不完成,我想,如果這幾行工作,那麼其餘的將是簡單的,但不工作,我得到禿頭拉我的頭髮...

$('input[name*=payment_method]').live('change', function() { 

if ($('input[name*=os_paypal]').is(':checked')) { 
     $('input[name*=eb_PagosMensuales')[0].setAttribute('checked', 'checked'); 
    alert("PayPal 1 has been selected..."); 
} 

/* else { 
    $('#some_other_id_that_i_migh_need').removeAttr('required'); 
    } 
    */ 
}); 

這個想法是從第二組單選按鈕中選擇1個選項,並且通過這樣做第一組單選按鈕中的一個將相應地選擇到第二組上的數據。

請看看這裏更直觀例子: Link to jsfiddle

感謝您百忙之中閱讀我的問題的時候,我感謝所有幫助您可以提供。

回答

0

嘗試

var $ebs = $('input[name="eb_PagosMensuales"]'); 
var $paymethods = $('input[name=payment_method]').on('change', function() { 
    var idx = $paymethods.index(this); 
    $ebs.eq(idx).prop('checked', true) 
}); 

演示:Fiddle