фрагмент кода
здравствуйте, стыдно спрашивать такую ерунду, но надо.
вот фрагмент кода: http://prntscr.com/anb6mp надо, чтобы слово изменить было в <label>, а не рядом с ним, как сейчас Вот мой скрипт: <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">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"); jQuery(wsID+" input:checked").parent(".input_type_radio").append('<div >изменить</div>'); 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> что надо дописать в 41 строке? ссылка на проблему: http://adellin.ru/serebro/stolovoe-s...lozhka-tsvetok надо нажать с футляром-> да |
диана1975,
jQuery(wsID+" input:checked").parent(".input_type_radio").find("label").append('изменить'); |
спасибо, Рони, но там как-то ненормально стало работать : изменить добавляется при каждом закрытии окна и еще в окне появляется, а в окне мне не надо
|
диана1975,
если в окне и на странице одинаковые id , естественно добавится в оба места и не по разу, раз вы не отслеживаите добавление никак. для медитации 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) }; |
наполовину исправилось, осталось сделать так, чтобы у выбранной опции в модальном окне слово изменить не появлялось...
как быть? |
диана1975,
более того что написано выше добавить нечего. |
А я думала, возможности ява скрипт безграничны...
почему, интересно, добавить нечего? |
спасибо, рони, за помощь, плюсануть не могу- не разрешают...
кого-нибудь другого плюсани, говорят, зачем другого, если второй раз подряд один человек помогает? странно у вас здесь все устроено... |
диана1975,
потому что, почему это происходит и как это исправить уже написано выше,по крайне мере алгоритм, но похоже вы сами не ведаите, что творите. |
диана1975,
ищите нового специалиста, у меня похоже глаз замылился :) |
А я с помощью 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, время: 08:18. |