Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2017, 12:26
Новичок на форуме
Отправить личное сообщение для virtpetr Посмотреть профиль Найти все сообщения от virtpetr
 
Регистрация: 16.06.2017
Сообщений: 5

подскажите не могу обратиться к td по селектору и названию класса одновременно
никак не могу поймать нужную строку в таблице чтоб изменить display
вот что уже накидал
<tr class="row" data-id="2731">                  
                    <td class="item-thumb"><a href="" title=""></td>
                    <td>
						
                    </td>
                    <td class="item-qty align-right nowrap">
					<table>
																									<tbody><tr style="font-weight: bold;font-size: 14px;">
					<td></td>
					<td data-stock="1"><span>29</span> шт.</td>
					<td rowspan="4" style="padding-left: 5px;"><input name="quantity[2731]" value="30" class="qty" type="text"></td>					</tr>
																									<tr>
					<td></td>
					<td data-stock="2"><span>15</span> шт.</td>
										</tr>
																									<tr>
					<td></td>
					<td data-stock="3"><span>3</span> шт.</td>
										</tr>
																														
					</tbody></table>
					</td>
                    <td class="align-center item-total nowrap">1000</td>
                    <td class="item-remove"><a class="delete" href="#" title="Удалить из корзины"><i class="icon16 remove"></i></a></td>                        
                </tr>
<tr class="nost;" mess-id="2731" style="display: none;"><td colspan="5" style="border-top: 0px;"><div class="align-right"><b style="color: red;text-transform: uppercase;">товар отсутсвует на основном складе, возможна недопоставка</b></div></td></tr>
<tr class="nomaxst;" mess-id="2731" style="display: none;"><td colspan="5" style="border-top: 0px;"><div class="align-right"><b style="color: red;text-transform: uppercase;">заказанное количество больше наличия на основном складе, возможна недопоставка</b></div></td></tr>


$(".cart input.qty").change(function () {
        var that = $(this);
		var stock = that.closest('td').prev().children('span').text();
		var stockid = that.closest('td').prev().attr('data-stock');
		// console.log('склад ' + stockid + ' ' + stock + ' ' + that.val());		
        if (that.val() > 0) {
            var row = that.closest('tr.row');
			var nt_id = row.attr('data-id');
			if (stockid == '1') {
				// console.log('1 склад');
				if (that.val() <= stock) {
					console.log('ок отключить сообщения ' + nt_id);
					$('tr[mess-id="' + nt_id + '"]').hide();
				} else {
					console.log('не хватает ' + nt_id);
					$('tr.nomaxst[mess-id="' + nt_id + '"]').show(); // $('tr.nomaxst').show() $('[mess-id="2731"]').next('.nomaxst') $('[mess-id="2731"]').next('td') $('[mess-id="2731"]tr.nomaxst')
				}
			}
            
        } else {
            that.val(1);
        }
    });


вобщем под console.log('не хватает ' + nt_id);
есть $('tr.nomaxst[mess-id="' + nt_id + '"]').show(); но так не работает
пробовал из консоли по разному поймать

$('[mess-id="2731"]').next('.nomaxst')
$('[mess-id="2731"]').next('td')
$('[mess-id="2731"]tr.nomaxst')

не могу понять как правильно совместить mess-id="2731" и tr.nomaxst подскажите чтонибудь
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2017, 12:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

virtpetr,
у вас нет
Сообщение от virtpetr
tr.nomaxst
!!! исправьте название класса в html
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2017, 13:01
Новичок на форуме
Отправить личное сообщение для virtpetr Посмотреть профиль Найти все сообщения от virtpetr
 
Регистрация: 16.06.2017
Сообщений: 5

вот же 3 строка <tr class="nomaxst;" mess-id="2731" style="display: none;"><td colspan="5" style="border-top: 0px;"><div class="align-right"><b style="color: red;text-transform: uppercase;">заказанное количество больше наличия на основном складе, возможна недопоставка</b></div></td></tr>
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2017, 13:04
Новичок на форуме
Отправить личное сообщение для virtpetr Посмотреть профиль Найти все сообщения от virtpetr
 
Регистрация: 16.06.2017
Сообщений: 5

я решил так $('tr[mess-id="' + nt_id + '"]:eq(1)').show(); выбрал второй элемент, работает
не думаю что это правильно
Ответить с цитированием
  #5 (permalink)  
Старый 16.06.2017, 13:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

class="nomaxst;" - недопустимо.
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2017, 13:22
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$('selector').filter('filter'); //фильтрует элементы по дополнительному селектору
может пригодится
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2017, 13:47
Новичок на форуме
Отправить личное сообщение для virtpetr Посмотреть профиль Найти все сообщения от virtpetr
 
Регистрация: 16.06.2017
Сообщений: 5

Сообщение от laimas Посмотреть сообщение
class="nomaxst;" - недопустимо.
блин точка с запятой, спасибо
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2017, 13:48
Новичок на форуме
Отправить личное сообщение для virtpetr Посмотреть профиль Найти все сообщения от virtpetr
 
Регистрация: 16.06.2017
Сообщений: 5

спасибо возьму на заметку
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация по селектору класса через each Siend Общие вопросы Javascript 3 01.10.2015 18:33
Конструктор, не могу получить доступ к свойству класса voodoo_dn Общие вопросы Javascript 5 17.12.2014 18:07
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как я могу вернуть имя класса Tini2n jQuery 8 28.05.2012 00:51
Не могу вызвать функцию из тела, подскажите что не так Rentony Элементы интерфейса 3 15.12.2011 13:43