История изменений
Исправление znenyegvkby, (текущая версия) :
Не благодари. jQuery > 2.1+. Извини, но времени переписывать структуру этого говнокода нет. По идее тут _все_ не так и функции не нужны. И jQuery тоже не нужен, ага. Но если тебе так хочется...
P.S.: времени тестировать тоже нет, так что если ошибки – исправишь поди.
function send() {
var paySystem = getPaySelectedAttr();
jQuery('#payparts-period-success').empty().html(jQuery('#month-sel').val());
var url = "<?php echo $this->getUrl('payparts/payment/notify/', array('_secure' => false)); ?>";
jQuery.ajax({
type: 'POST',
data: {
'parts': jQuery('#month-sel').val(),
'system': paySystem['system'],
},
cache: false,
url: url,
done: function(response) {
successFunc(response);
}
fail: function(response) {
failureFunc(response);
}
});
}
function successFunc(response) {
jQuery('#payparts-select-block').css({'display': 'none'});
jQuery('#payparts-success').css({'display': 'block'});
jQuery('#payment-buttons-container').css({'display': 'block'});
return true;
}
function failureFunc(response) {
jQuery('#send-parts-error').css({'display': 'block'});
return false;
}
function getPaySelectedAttr(){
var result = {};
var e = jQuery('#system-sel');
result['value'] = e.value();
result['system'] = e.attr('pp-name');
result['name'] = e.attr('name');
return result;
}
function periodChange(){
var selectData = getPaySelectedAttr();
var result = '<option disabled>Срок,мес.</option><option selected value="2">2</option>';
for (var i = 0; i < selectData.value; i++) {
if (i > 2) {
result += '<option value='+i+'>'+i+'</option>';
}
}
jQuery('#month-sel').empty().html(result);
jQuery('#system-name').empty().html(selectData['name']);
}
jQuery(document).on('change',
'form[name="co-payment-form"] [name="payment[method]"]', function() {
if (jQuery('#p_method_payparts_redirect').attr('checked')) {
jQuery('#payment-buttons-container').css({'display': 'none'});
} else {
jQuery('#payment-buttons-container').css({'display': 'block'});
}
});
jQuery('#send-parts-error').css({'display': 'none'});
jQuery(document).on('click', '#send-period', function() {
send();
});
jQuery(document).on('change', '#system-sel', function() {
periodChange();
});
Исходная версия znenyegvkby, :
Не благодари. jQuery > 2.1+. Извини, но времени переписывать структуру этого говнокода нет. По идее тут _все_ не так и функции не нужны. И jQuery тоже не нужен, ага. Но если тебе так хочется...
P.S.: времени тестировать тоже нет, так что если ошибки – исправишь поди.
function send() {
var paySystem = getPaySelectedAttr();
jQuery('#payparts-period-success').empty().html(jQuery('#month-sel').val());
var url = "<?php echo $this->getUrl('payparts/payment/notify/', array('_secure' => false)); ?>";
jQuery.ajax({
type: 'POST',
data: {
'parts': jQuery('#month-sel').val(),
'system': paySystem['system'],
},
cache: false,
url: url,
done: function(response) {
successFunc();
}
fail: function(response) {
failureFunc();
}
});
}
function successFunc(response) {
jQuery('#payparts-select-block').css({'display': 'none'});
jQuery('#payparts-success').css({'display': 'block'});
jQuery('#payment-buttons-container').css({'display': 'block'});
return true;
}
function failureFunc(response) {
jQuery('#send-parts-error').css({'display': 'block'});
return false;
}
function getPaySelectedAttr(){
var result = {};
var e = jQuery('#system-sel');
result['value'] = e.value();
result['system'] = e.attr('pp-name');
result['name'] = e.attr('name');
return result;
}
function periodChange(){
var selectData = getPaySelectedAttr();
var result = '<option disabled>Срок,мес.</option><option selected value="2">2</option>';
for (var i = 0; i < selectData.value; i++) {
if (i > 2) {
result += '<option value='+i+'>'+i+'</option>';
}
}
jQuery('#month-sel').empty().html(result);
jQuery('#system-name').empty().html(selectData['name']);
}
jQuery(document).on('change',
'form[name="co-payment-form"] [name="payment[method]"]', function() {
if (jQuery('#p_method_payparts_redirect').attr('checked')) {
jQuery('#payment-buttons-container').css({'display': 'none'});
} else {
jQuery('#payment-buttons-container').css({'display': 'block'});
}
});
jQuery('#send-parts-error').css({'display': 'none'});
jQuery(document).on('click', '#send-period', function() {
send();
});
jQuery(document).on('change', '#system-sel', function() {
periodChange();
});