Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как через отладчики найти причину в JS? (https://javascript.ru/forum/misc/58065-kak-cherez-otladchiki-najjti-prichinu-v-js.html)

jenya82 02.09.2015 18:45

Как через отладчики найти причину в JS?
 
Вложений: 2
:help: Доброго времени! На сайте реализовано модальное окно, что бы был выбор регионов. Все работало пока не полез с оптимизацией в том числе по рекомендациям от Гугла.

Не уверен в точности когда и из за чего могла возникнуть данная ошибка так как в данный раздел долго не заходил.

Пытаться вернуть все файлы назад куда лазил- это пальцем в небо..

Пробую через отладчик но не селен.

В общем при вызове модального окна по кнопке получается так:

http://prntscr.com/8bpdae

И ни чего сделать нельзя. Только обновление страницы.


В консоле, отладчике ОПЕРА так: http://prntscr.com/8bsioy

На сколько я знаю (я не разработчик, делал фрилансер) вот этот скрипт отвечает за вызов модального окна

<script type="text/javascript">
                            $('.tree-toggle').on("click",function(){
                                $(this).toggleClass('active');
                                $(this).parent().find('ul.tree').toggle()
                            })
                            $('.main-checker').on("click",function(){
                                $check=$(this).prop('checked')
                                $(this).parent().parent().parent().find('input[type="checkbox"]').each(function(ind,elem){
                                    $(elem).prop("checked",$check)
                                })
                            })
                            $('.sub-checker').on("click",function(){
                                var $ismainch=true;
                                var $check
                                $(this).parent().parent().parent().parent().find('input[type="checkbox"]').each(function(ind,elem){
                                    $check=$(elem).prop('checked')
                                    if(!$check){
                                        $ismainch=$check;
                                    }
                                })
                                $(this).parent().parent().parent().parent().parent().find('.main-checker').prop("checked",$ismainch)
                            })
                            function setMRegions(){
                                var $str="";
                                $('.main-checker').each(function(ind,elem){
                                    $check=$(elem).prop('checked');
                                    if($check){
                                        $str+="<b>"+$(elem).parent().find('span').html()+"</b>, ";
                                    }else{
                                        $(elem).parent().parent().parent().find('.sub-checker:checked').each(function(k,el){
                                            $str+=$(el).parent().find('span').html()+", ";
                                        })
                                    }
                                })
                                $('.target-region').html($str.substr(0,$str.length-2))
                            }
                             <? if(isset($values['REGION'])):?>
                                setMRegions()
                             <? endif;?>
                          </script>


так как если смотреть весь код, то к этому скрипту привязаны кнопки "сохранить" и "отмена"

Может кто ошибку узреет? :help:

Вложения в лучшем качестве по ссылкам

http://prntscr.com/8bsioy
http://prntscr.com/8bpdae


Часовой пояс GMT +3, время: 08:39.