LINUX.ORG.RU

Вкладки на jQuery + AJAX


0

0

Работаю с вкладками:

$(document).ready(function() {
 
        $('ul.tabs li').css('cursor', 'pointer');
        $('ul.tabs.tabs1 li').click(function(){
 
        var thisClass = this.className.slice(0,2);
        $('div.t1').hide();
        $('div.t2').hide();
        $('div.t3').hide();
        $('div.t4').hide();
        $('div.' + thisClass).show('fast');
        $('ul.tabs.tabs1 li').removeClass('tab-current');
        $(this).addClass('tab-current');
});

Требуется, чтобы при переходе на вкладку через AJAX отправлялось имя текущей вкладки одному php-скрипту, чтобы уже в зависимости от выбранной вкладки выполнять различные выборки из базы. Пытаюсь сделать так:

$(document).ready(function() {
 
        $('ul.tabs li').css('cursor', 'pointer');
        $('ul.tabs.tabs1 li').click(function(){
 
        var thisClass = this.className.slice(0,2);
        $('div.t1').hide();
        $('div.t2').hide();
        $('div.t3').hide();
        $('div.t4').hide();
        $('div.' + thisClass).show('fast');

        $('ul.tabs.tabs1 li').removeClass('tab-current');
        $(this).addClass('tab-current');

         var name = thisClass;
         var data = 'name='+name;
         $.ajax ({
                 type:"GET";
                 url:"handler.php",
                 data:data,
                 success:function(html) {
                            thisClass.html(html);
                 }
         });

});

На стороне сервера уже через switch-case пытаюсь обрабатывать полученное $_GET['name'], но ему как раз ничего не передаётся.

Возможно, передаю не тот элемент DOM.


alert сделать не судьба? data = {'name': name} или че...

anonymous ()

Есть что-то маньячное в реализации вкладок через JQuery.

anonymous ()

Есть такие люди, в то время, как все уже начали юзать jQuery, они руками писали getElementById и XMLHttpRequest и гордились этим. В то время, как все юзают GWT и ExtJS, они руками пишут вкладки на jQuery и гордятся этим. Скоро весь прогрессивный мир выкинет уже эту сраную вебню... а они с песнями обегут открывать открывать для себя GWT и прочее говнище. Удачи вам, дорогой друг, в ваших нелёгких начинаниях!

anonymous ()
Ответ на: комментарий от anonymous

Удачи вам, дорогой друг, в ваших нелёгких начинаниях!

Ну, и на том спасибо.

Вот, кстати, рабочий код, если кому-то будет интересно:

www.pastebin.com/5MMjwGNi

ufw ()
Ответ на: комментарий от anonymous

Пока разные люди просто пишут хорошие приложения, веб-программисты придумали, как заработать наворачиванием говна: на браузере - HTML, на HTML - DOM, на DOM - JavaScript, на JS - jQuery, а на jQuery еще какой-нибудь кусок пожирнее налепить. Ну потому что как же так, а то еще придется getElementById писать, это ж такое заподло. О том, что вкладки можно реализовать на CSS, подобные вам «кодеры» не знают, они и для того, чтобы сделать отступы в абзацах, подключают какой-нибудь jIndent килобайт на сорок.

anonymous ()
Ответ на: комментарий от BobiKK

Вашим Nokia WRT и Appcelerator цена — дерьмо.

anonymous ()
Ответ на: комментарий от anonymous

>а то еще придется getElementById писать, это ж такое заподло.

Я на тебя посмотрю, как ты вручную будешь анимацию или сложные действия на чистом js делать. Это жутко затратно. Может ещё на ассемблере писать?

О том, что вкладки можно реализовать на CSS

И оказаться без денег, потому что заказчик обиделся из-за нерабочего IE6.

anonymous ()
Ответ на: комментарий от anonymous

>Я на тебя посмотрю, как ты вручную будешь анимацию или сложные действия на чистом js делать. Это жутко затратно. Может ещё на ассемблере писать?

Да, я понимаю, написать в коде getElementById - это жутко затратно.

И оказаться без денег, потому что заказчик обиделся из-за нерабочего IE6.

Ололо, описание работы вкладок на CSS было на w3c еще тогда, когда не было никакого jQuery, а IE6 был единственным используемым браузером.

Капча «tricked it» как бы намекает, что такое ваш jQuery.

anonymous ()
Ответ на: комментарий от anonymous

>Да, я понимаю, написать в коде getElementById - это жутко затратно.

Вообще-то главный смысл jquery в навороченных селекторах. Естественно для скриптика на 5 строк оно не надо. Хватит передёргивать.

Ололо, описание работы вкладок на CSS было на w3c еще тогда, когда не было никакого jQuery, а IE6 был единственным используемым браузером.

Иногда нужны вкладки понавороченнее, чем поделия на css. На нём, знаете ли, и меню выпадающее можно делать, но если вёрстка внезапно немного не такая, как надо, то оно перестаёт работать. С современными дизайнерами нормально ничего не сделать - они всё хотят так накрутить, что верстать невозможно. Предложение выгонять таких дизайнеров - не катит, народу нужны модные и гламурные сайты.

И тьма css хаков пугает намного больше js-а.

Алсо, jquery гарантирует кроссбраузерность без десятков килобайт кода для разных браузеров в отдельности. И пофиг, что сама jquery содержит это в себе - это хотя бы не надо по 10 раз заново писать.

anonymous ()
Ответ на: комментарий от anonymous

Человек, который не в состоянии освоить кроссбраузерную верстку, пытается выразить жалость?

anonymous ()
Ответ на: комментарий от anonymous

>В то время, как все юзают GWT и ExtJS

Тормозное УГ, которое является жалкой попыткой вытянуть совершенно не нужный оконный десктопный псевдогуй в интернет, и взгромоздить всё это поверх HTML.

Даже не идеальный jquery лучше.

anonymous ()
Ответ на: комментарий от anonymous

> Этим вкладкам цена — дерьмо. Вот как выглядят настоящие вкладки: http://www.extjs.com/deploy

Редкостное УГ, дефолтовые вкладки в райтжс и то лучше выглядят.

Alesh ()

Прочел тред.

Веб-девелоперы такие девелоперы...

impfp ()
Ответ на: комментарий от arsi

>в GET-запросах данные не передаются

Гы. Чёрт, всю жизнь передавал кучу данных в GET и не знал, что они не передаются :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

> Гы. Чёрт, всю жизнь передавал кучу данных в GET и не знал, что они не передаются :)

ещё один борец за чистоту терминологии…

arsi ★★★★★ ()
Ответ на: комментарий от anonymous

>Есть такие люди, в то время, как все уже начали юзать jQuery, они руками писали getElementById и XMLHttpRequest и гордились этим

Чёрт! Ты за мной подсматриваешь! :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от arsi

>ещё один борец за чистоту терминологии…

Не, вопрос не терминологический. А именно практический. То, что объём данных не килобайтами меряется - это уже другой аспект.

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

> Не, вопрос не терминологический.

т.е. если я исправлюсь и скажу Content™ (a.k.a. «Message body»®) вместо «данные», то это ни на что не повлияет, так?

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Так топикстартер, вроде, про контент (и, вообще, большие объёмы данных) ничего не говорит. Или я читал невнимательно?

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

> Так топикстартер, вроде, про контент (и, вообще, большие объёмы данных) ничего не говорит.

> data:data,

или не это MessageBody/Content?

arsi ★★★★★ ()
Ответ на: комментарий от KRoN73

> Передаётся параметр имени класса.

спасибо, кэп… v_v'

arsi ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.