Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2015, 20:32
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Не страбатывает строка в коде
Есть кусок jquery плагина
sort: function(ctx){
            if(ats){
                ats = false;
                return;
            }
            sortField = ctx.data('colkey');
            
            $('.col-head[data-colkey="'+sortField+'"] span').addClass('sort-desc');
            
            if(sortDirect.length<2 || sortDirect == 'ASC'){
                sortDirect = 'DESC';
            }else{
                sortDirect = 'ASC';
            }
            
            this.loadContent();
        },

Здесь не срабатывает данная строка:
$('.col-head[data-colkey="'+sortField+'"] span').addClass('sort-desc');

Все переменные имеют нужные данные, проверял. Консоль молчит. Вызывается функция так:
onclick="s.sort($(this))"

Почему не срабатывает addClass() ?
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2015, 20:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Добавь перед этой строкой:
var selector = '.col-head[data-colkey="'+sortField+'"] span';
console.log(selector);
console.log(document.querySelector(selector));
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2015, 21:15
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Вот что говорит консоль:
Цитата:
.col-head[data-colkey="name"] span
<span title=​"Искать по значению этого поля" onclick=​"s.addToSearch($(this)​)​" class=​"sort-desc">​Имя​</span>​
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2015, 21:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Sanu0074
Почему не срабатывает addClass() ?
Сообщение от Sanu0074
class=​"sort-desc"
у данного элемента уже есть этот класс
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2015, 21:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати зачем делать запрос через селектор, если ctx - и есть нужный элемент? Или так не всегда?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2015, 23:07
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

рони,
danik.js,
Так класс не добавляется:
sort: function(ctx){
            if(ats){
                ats = false;
                return;
            }
            sortField = ctx.data('colkey');
            ctx.find('span').addClass('sort-desc');
            if(sortDirect.length<2 || sortDirect == 'ASC'){
                sortDirect = 'DESC';
            }else{
                sortDirect = 'ASC';
            }
            this.loadContent();
        },

А так срабатывает:
sort: function(ctx){
            if(ats){
                ats = false;
                return;
            }
            sortField = ctx.data('colkey');
            ctx.find('span').addClass('sort-desc');
            return;
             
        },

Почему?
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2015, 23:08
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Вся суть в этой строке:
this.loadContent();
если ее убрать - то работает
Вот сама loadContent:
loadContent : function(){								
            var cpage = parseInt($(curPage).val()),
            apage = parseInt($(totalPages).html());
            if(cpage<1 || cpage>apage){
              $(curPage).css('background','#ffb0b0');
              return;  
            }else{
              $(curPage).css('background','#f5faff');  
            }

            $(cList).addLoadImg("Loading...");

            $(cList).load(HOST+'load/section/'+TARGET+'/'+SECTION,{page:cpage,instruments:0,sortField:sortField,sortDirect:sortDirect});	
        },
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2015, 23:23
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Я нашел ошибку, всем спасибо)
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2015, 23:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Sanu0074,
так наверно ответ с сервера ждать нужно ...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна раскрывающаяся таблица 7Lexus Элементы интерфейса 23 15.08.2014 15:15
Последняя строка из textarea TimohaP Javascript под браузер 8 28.07.2014 14:06
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
Поиск слова в исходном коде html страницы klsorat2010 Ваши сайты и скрипты 1 20.05.2010 23:46
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07