@viktorspr

Скрипт jquery для таблицы?

Есть прайс-таблица на сайте, и когда даешь прямую ссылку с указанным конкретным товаром в конце урл (&tovar03), эта строка таблицы подсвечивается (TR id=tovar03), но с добавлением каждой новой строкой приходится прописывать ее в id )) tovar88, tovar89 итд...

как бы так сделать, чтобы к примеру если в url указано &tovar=3 автоматом подсвечивалась 3-я строка (верней 4-я потому как первая заголовок)

вот так сейчас работает по id

$(function () {                             // когда страница загружена
    $('#tovary tr').each(function () {    // проходим по нужным нам ссылками
        var location = window.location.href // переменная с адресом страницы
        var link = this.id                // переменная с url ссылки
        var result = location.match(link);  // результат возвращает объект если совпадение найдено и null при обратном

        if(result != null) {                // если НЕ равно null
            $(this).addClass('select_tovar');    // добавляем класс
        }
    });
});
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
@vista1x
function getURLParameter(name) {
	return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

$(document).ready(function(){
	var tovarIndex = getURLParameter('tovar');
	if (tovarIndex) {
		$("#tovary").find("tr").eq(tovarIndex).addClass("select_tovar");
	}
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
IonDen
@IonDen
JavaScript developer. IonDen.com
Гораздо проще выбрать по номеру строку:
$('#tovary tr').eq(42).addClass('bla-bla');
Ответ написан
Stalker_RED
@Stalker_RED
Используйте Attribute Contains Selector

Пример: jsfiddle.net/Stalk/34mbqkk8
Ответ написан
Комментировать
@m_smirnov
Для начала: лучше бы отделить строку заголовка от строк товаров - заголовок поместить в thead, а всё остальное в tbody.
Если строки упорядочены по порядку, то можете просто выбрать n-ную строку и добавить ей класс.
$('#tovary tbody tr:nth-child(' + id + ')').addClass('select_tovar');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы