А я с помощью CSS скрыла, что не надо, так что нормально, спасибо!
|
Здравствуйте, нашла в этом же коде проблему, которую ранее не заметила, а именно:
я, как покупатель зашел на эту страницу, решил купить ложку с футляром за 100 рублей, для этого выбираю опцию "да". Все нормально, к базовой цене добавилась стоимость футляра (2355+100 = 2455 руб). Но вдруг я передумал и хочу взять ложку без футляра. Опцию "да" меняю на "нет". Но! цена остается 2455, хотя должна быть без стоимости футляра, и далее, при всех этапах покупки идет цена с футляром. Помогите разобраться, пожалуйста, вот код скрипта:
<script>
jQuery(function(){
jQuery("#block_attr_sel_7").css("display","none").closest("td").prev().find(".attributes_title").css("display","none");
var wsID="#block_attr_sel_7",
selID="#jshop_attr_id4",
selValOpen="22",
selValClose="23";
function openDW(wsID){
jQuery.openDOMWindow({
windowSourceID: wsID,
overlayOpacity: 5,
windowBGColor: "#fff",
functionCallOnOpen:function(){
jQuery(wsID).hide();
jQuery("#DOMWindow .input_type_radio").show().css("display","block");
jQuery('#DOMWindow').append('<div class="closeDW"><span>закрыть</span> X</div>');
jQuery('.closeDW').css({'position':'absolute', 'top':'5px', 'right':'10px', 'font-size':'22px', 'cursor':'pointer'});
},
});
}
function closeDW(wsID){
jQuery.closeDOMWindow({
windowSourceID: wsID,
overlayOpacity: 5,
windowBGColor: "#fff",
functionCallOnClose:function(){
},
functionCallAfterClose:function(){
if(jQuery(selID+" :selected").length && jQuery(selID+" :selected").val()===selValOpen){
afterCloseDOMWindow(wsID);
}
}
});
}
function afterCloseDOMWindow(wsID){
jQuery(wsID).show(500, function(){
jQuery(wsID+" .input_type_radio").hide();
jQuery(wsID+" input:checked").parent(".input_type_radio").show().css("display","block");
var label = jQuery(wsID+" input:checked").parent(".input_type_radio").find("label").eq(0);//а может eq(1)
var change = label.data("change");
if (!change) {
label.append('<div >изменить</div>');
label.data("change", true)
};
jQuery('.closeDW').remove();
}).css("display","block");
}
function funcAfterChangeAttrMod(){
if(jQuery(selID+" :selected").length && jQuery(selID+" :selected").val()===selValOpen){
openDW(wsID);
}
if(jQuery(selID+" :selected").length && jQuery(selID+" :selected").val()===selValClose){
jQuery(wsID).hide();
}
}
reloadAttribEvents.push(funcAfterChangeAttrMod);
jQuery("body").on("click","#DOMWindowOverlay, .closeDW",function(){
closeDW(wsID);
});
});
</script>
|
диана1975,
как вы в своём коде не плутаите ... костыль ....
function funcAfterChangeAttrMod(){
if(jQuery(selID+" :selected").length && jQuery(selID+" :selected").val()===selValOpen){
openDW(wsID);
}
if(jQuery(selID+" :selected").length && jQuery(selID+" :selected").val()===selValClose){
jQuery(wsID).hide().find("[type='radio']:first").click();
}
}
вам для полного счасться осталось придумать что делать с кнопкой да если футляр не выбрали |
спасибо, профессор, но теперь при вышеизложенной цепочке действий дублируются варианты футляров...
что делать? |
диана1975,
пас, не осилить более. |
а мне тем более... ладно, не буду углубляться, надо что-нибудь попроще придумать.. спасибо, Ронни
|
Цитата:
И в чеке затем будет написано Ложка арт.0006 1х3000 3000 Футляр арт.7525 1х2000 2000 итого 5000 Словом твоя проблема не в скриптах, а в бизнес-логике. |
| Часовой пояс GMT +3, время: 15:57. |