Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2016, 16:58
Интересующийся
Отправить личное сообщение для megoloman Посмотреть профиль Найти все сообщения от megoloman
 
Регистрация: 26.10.2015
Сообщений: 14

Поиск кода в проекте
Здравствуйте! Помогите пожалуйста со следующей проблемой.

Я ковыряюсь в чужом большом проекте и есть необходимость изменить одну вещь. Во вложениях есть скрин меню выбора большого района и дочерних от него подрайонов в виде чекбоксов. Когда я ставлю галочку на большой район, автоматически выбираються все его подрайоны, это правильно, а вот когда я нажимаю кнопку найти и все это дело сортируется, галочка с большого района снимается, а на всех его подрайонах остается, это неправильно, на большом районе в таком случае галочка также должна оставаться. Вопрос в том, что я не могу найти код в проекте, который за исчезновение этой галки отвечает. Подскажите пожалуйста как это примерно описывается и обычно где, ссылку на проект не могу скинуть, потому как работаю с ним локально, могу код отдельных файлов предоставить.
Изображения:
Тип файла: jpg choose_location.jpg (195.8 Кб, 9 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2016, 19:48
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

megoloman,
Сбросьте код, отвечающий за проблемную секцию.
Ответить с цитированием
  #3 (permalink)  
Старый 05.04.2016, 09:08
Интересующийся
Отправить личное сообщение для megoloman Посмотреть профиль Найти все сообщения от megoloman
 
Регистрация: 26.10.2015
Сообщений: 14

Большой район
function() {
  var t = $(this).parent().text();
  1 == $(this).prop("checked") ? ($(this).parent().hasClass("big-subloc-head") && $(this).parent().parent().find("li label").each(function() {
    var t = $(this).text();
    $(this).find("input:checkbox").prop("checked", !0), $('#chosen-subloc span:contains("' + t + '")').detach()
  }), $("#chosen-subloc").append("<span>" + t + "</span>")) : ($(this).parent().hasClass("big-subloc-head") && $(this).parent().parent().find("li input:checkbox").each(function() {
    $(this).prop("checked", !1)
  }), $('#chosen-subloc span:contains("' + t + '")').detach())
}


Кнопка НАЙТИ:
function() {
  var t = $(this).text();
  $(this).detach();
  var e = ($("#sublocality-choice label, #province-choice label"), $('#sublocality-choice label:contains("' + t + '"), #province-choice label:contains("' + t + '")'));
  $(e).hasClass("big-subloc-head") ? $(e).parent().find("input:checkbox").each(function() {
    $(this).prop("checked", !1)
  }) : $(e).find("input:checkbox").prop("checked", !1)
}
Ответить с цитированием
  #4 (permalink)  
Старый 05.04.2016, 09:35
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

megoloman,
В секци НАЙТИ строчка 6
$(this).prop("checked", !1)

поменяйте на
$(this).prop("checked", !0)
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2016, 09:46
Интересующийся
Отправить личное сообщение для megoloman Посмотреть профиль Найти все сообщения от megoloman
 
Регистрация: 26.10.2015
Сообщений: 14

Ничего не поменялось
Ответить с цитированием
  #6 (permalink)  
Старый 05.04.2016, 09:54
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

megoloman,
Было бы проще решить проблему с рабочим фрагментом кода, например на JSFiddle.

Нежелательное поведение checkbox точно в одном из свойств ("checkbox", ...)
!0 - это отмеченный checkbox
!1 - это пустой checkbox
Ответить с цитированием
  #7 (permalink)  
Старый 05.04.2016, 10:06
Интересующийся
Отправить личное сообщение для megoloman Посмотреть профиль Найти все сообщения от megoloman
 
Регистрация: 26.10.2015
Сообщений: 14

Это полный код того файла, непонятно почему он корректно не открывается в редакторе:

function csrfSafeMethod(t){return/^(GET|HEAD|OPTION|TRACE)$/.test(t)}function getCookie(t){var e=null;if(document.cookie&&""!=document.cookie)for(var c=document.cookie.split(";"),i=(c.length,0);i<c.length;i++){var a=jQuery.trim(c[i]);if(a.substring(0,t.length+1)==t+"="){var o=a.substring(t.length+1);e=decodeURIComponent(o);break}}return e}function filterHideShow(t){var e=$("#id_object_all :selected").val();"dom"==e?$("#my_f").length?$("#fldMetro").after(t):$("#index_filter")&&$("#fldSublocality").before(t):$("#house-type").detach(),-1!=["kvartiru","dom"].indexOf(e)?$("#fldRoomsNum").show():$("#fldRoomsNum").hide(),"kommercheskuyu-nedvizhimost"==e?$("#fldObjType").show():$("#fldObjType").hide()}function metroHideShow(){var t=$("#id_city :selected").val();-1!=["3","20","8"].indexOf(t)?$("fldMetro").show():$("#fldMetro").hide()}function rentTermHideShow(t){var e=$("#id_action").val();-1!=["sdam","snimu"].indexOf(e)?/.+\/grid.*/.test(location.pathname)?($("#rent-term").append(t),$("#rent-term").show()):$("#id_object_all").after(t):(t.detach(),$("#rent-term").hide())}function hideShowNewBuilding(t){act=$("#id_action").val(),obj=$("#id_object_all").val(),"prodam"!=act||"kvartiru"!=obj&&"gostinku-komnatu"!=obj?t.detach():$("#fldSublocality").before(t)}$(document).ready(function(){function t(){var t={title:"title",url:window.post_url()+window.location.search};window.history.pushState(t,t.title,t.url)}$.ajaxSetup({crossDomain:!1,beforeSend:function(t,e){csrfSafeMethod(e.type)||t.setRequestHeader("X-CSRFToken",getCookie("csrftoken"))}});var e=$("#id_rent_term"),c=$("#new-building"),i=$("#house-type"),a=window.location.href,o=new RegExp(/(prodam|sdam|snimu|kuplyu)/),n=$("#current-city").attr("city-id"),s=$("#top-city :selected").attr("slug");if(o.test(a)){var r=a.match(/.+\/([a-z-]+)\/(prodam|sdam|snimu|kuplyu)-([a-z-]+)[\/.+]?/);null!=r&&($("#id_action").val(r[2]),$("#id_object_all").val(r[3]),$("#id_city").val(n))}else $("#id_city").val(n);filterHideShow(i),metroHideShow(),rentTermHideShow(e),hideShowNewBuilding(c),$("#id_action").change(function(){rentTermHideShow(e),hideShowNewBuilding(c),$("#search_query").attr("action",post_url()),t()}),$("#loc-wrap input:checkbox").each(function(){var t=$(this).parent().text();1==$(this).prop("checked")&&$("#chosen-subloc").append("<span>"+t+"</span>")}),$("#metr-choice input:checkbox").each(function(){var t=$(this).parent().text();1==$(this).prop("checked")&&$("#chosen-metro").append("<span>"+t+"</span>")});var l=$('.province-list label:contains(" Харьковский р-н")').clone(withDataAndEvents=!0);$("#id_8subloc").append(l),window.toHistory=t,$("#search_query").attr("action",post_url),$("#id_object_all").change(function(){filterHideShow(i),$("#search_query").attr("action",post_url()),hideShowNewBuilding(c)}),$("#id_city").change(function(){var t=$(this).val(),e=$("#top-city option[value="+t+"]").attr("slug"),c=$("#id_city option:selected").text(),i=new RegExp("^/[a-zs-]+","i");$.ajax({url:"/board/set_city/",type:"POST",data:{chosen_city_id:t},success:function(a){$(".first-invisible a").each(function(){var t=$(this).attr("href");t=t.replace(i,e),$(this).attr("href","/"+t)}),$("#current-city span").replaceWith("<span>"+c+"</span>"),$("#current-city").attr("slug",e),$("#current-city").attr("city-id",t),$("#search_query").attr("action",post_url());var o=location.pathname.replace(s,e);-1==o.indexOf("/grid")?location.href=o:location.href=o+"?woagent=on"},error:function(){alert("Ошибка при отправке данных выбора города!")}})}),$("#without_agent").click(function(){console.log("Ci"),$("#id_woagent").val("checked"),$("#search_query").submit()}),$("span.to-push").click(function(){$(this).next().toggle()}),$(".box-select-close").bind("click",function(){$(this).parent().hide()}),$(".ok-tab").click(function(){$(this).parent().hide()}),$("#province-tab").click(function(){$("#sublocality-choice").hide(),$("#subloc-tab").removeClass("active-tab"),$("#province-choice").show(),$(this).addClass("active-tab")}),$("#subloc-tab").click(function(){$("#province-choice").hide(),$("#province-tab").removeClass("active-tab"),$("#sublocality-choice").show(),$(this).addClass("active-tab")}),$("#sublocality-choice input:checkbox, #province-choice input:checkbox").change(function(){var t=$(this).parent().text();1==$(this).prop("checked")?($(this).parent().hasClass("big-subloc-head")&&$(this).parent().parent().find("li label").each(function(){var t=$(this).text();$(this).find("input:checkbox").prop("checked",!0),$('#chosen-subloc span:contains("'+t+'")').detach()}),$("#chosen-subloc").append("<span>"+t+"</span>")):($(this).parent().hasClass("big-subloc-head")&&$(this).parent().parent().find("li input:checkbox").each(function(){$(this).prop("checked",!0)}),$('#chosen-subloc span:contains("'+t+'")').detach())}),$("#chosen-subloc").on("click","span",function(){var t=$(this).text();$(this).detach();var e=($("#sublocality-choice label, #province-choice label"),$('#sublocality-choice label:contains("'+t+'"), #province-choice label:contains("'+t+'")'));$(e).hasClass("big-subloc-head")?$(e).parent().find("input:checkbox").each(function(){$(this).prop("checked",!1)}):$(e).find("input:checkbox").prop("checked",!1)}),$("#metr-choice input:checkbox").change(function(){var t=$(this).parent().text();1==$(this).prop("checked")?($(this).parent().hasClass("bold")&&$(this).parent().next().find("li label").each(function(){var t=$(this).text();$(this).find("input:checkbox").prop("checked",!0),$('#chosen-metro span:contains("'+t+'")').detach()}),$("#chosen-metro").append("<span>"+t+"</span")):($(this).parent().hasClass("bold")&&$(this).parent().next().find("input:checkbox").each(function(){$(this).prop("checked",!1)}),$('#chosen-metro span:contains("'+t+'")').detach())}),$("#chosen-metro").on("click","span",function(){var t=$(this).text();$(this).detach();var e=$('#metr-choice label:contains("'+t+'")');e.hasClass("bold")?$(e).parent().find("input:checkbox").each(function(){$(this).prop("checked",!1)}):$(e).find("input:checkbox").prop("checked",!1)}),$(".fast-adm-del-link").click(function(t){t.preventDefault();var e=this.href,c=$(this).closest(".ad-preview"),i=e.match(/\/(\d+)\//),a=i[1];$("#confirm-pop-up").dialog(),$("#confirm-yes").click(function(){$.ajax({url:e,type:"POST",data:{pk:a},success:function(t){c.detach(),$.messagePopUp("Объявление удалено")},error:function(){alert("Ошибка! Объявление не удалено")}}),$("#confirm-pop-up").dialog("close")}),$("#confirm-no").click(function(){$("#confirm-pop-up").dialog("close")})}),$(".ad-preview").on("click",".star",function(){var t=$(this).closest(".item-info").find(".kod").text().replace(/\D/g,""),e=this.src,c=this;$.ajax({url:"/board/add_to_fav/",type:"POST",data:{id:t},dataType:"json",success:function(t){$.messagePopUp(t.message),"success"==t.result&&($(c).attr("src",e.replace(/star-grey/,"star")),$(c).attr("class","star-true"),$(c).attr("title","Убрать из моего блокнота"),$(c).attr("alt","Убрать из блокнота"))},error:function(){aleft("Ошибка обработки данных!")}})}),$(".ad-preview").on("click",".star-true",function(){var t=$(this).closest(".item-info").find(".kod").text().replace(/\D/g,""),e=this.src,c=this;$.ajax({url:"/board/remove_from_fav/",type:"POST",data:{id:t},dataType:"json",success:function(t){"success"==t.result?($(c).attr("src",e.replace(/star/,"star-grey")),$(c).attr("class","star"),$(c).attr("title","Добавить в мой блокнот"),$(c).attr("alt","Добавить в блокнот"),$.messagePopUp(t.message)):alert("Произошла непредвиденная ошибка!")},error:function(){alert("Ошибка обработки данных!")}})}),$(".fast-adm-up").click(function(){var t=$(this).closest(".item-info").find(".kod").text().replace(/\D/g,"");$.ajax({type:"POST",url:"/board/"+t+"/up/",success:function(t){$.messagePopUp(t)}})}),$(".adm-up").click(function(){var t=$(this).closest("#left_info").find(".f_value.kod").text().replace(/\D/g,"");$.ajax({type:"POST",url:"/board/"+t+"/up/",success:function(t){$.messagePopUp(t)}})})});
Ответить с цитированием
  #8 (permalink)  
Старый 05.04.2016, 10:35
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

megoloman,
Ваш код выше уже в сжатом варианте, потому в привычном виде не открывается в редакторе.

Без корректного примера на JSFiddle я не могу помочь с вашим вопросом.
Ответить с цитированием
  #9 (permalink)  
Старый 05.04.2016, 10:55
Интересующийся
Отправить личное сообщение для megoloman Посмотреть профиль Найти все сообщения от megoloman
 
Регистрация: 26.10.2015
Сообщений: 14

А как его вернуть обратного из сжатого варианта, чтобы приятно читать было?
Ответить с цитированием
  #10 (permalink)  
Старый 05.04.2016, 11:25
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

megoloman,

http://unminify.com/
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавающий блок, не работает часть кода в joomla 3 Kuzma jQuery 1 06.05.2015 09:28
Обфускация javascript кода на проекте shkarbatov Общие вопросы Javascript 11 29.11.2014 02:06
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Помогите со структурой кода в проекте andreys75 Общие вопросы Javascript 0 16.05.2013 13:41
Поиск в тексте javascript jQuery 3 31.05.2011 11:40