Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Динамическая обработка в jQuery


Автор: finogeev 22.8.2012, 21:16
Вообщем главное правильно описать, что бы поняли smile.
Сразу прошу прощения, с JS не влады - дружу только c PHP.
Ситуация такая, 

Код

$("#div.route").click(function() {
    // к примеру заменяю link1 на content1 и провожу манипуляции, 
    // таким образов вытаскивая нужную id-шку
    // подскажите как мне вытащить id-шку и вставить её в атрибут
    //  ниже в, тюею передать "url: "content.php?var=???" ?
    $("#" + this.id.replace(/link/,'content')).show();
            
        $.ajax({
            url: "content.php?var=???",
            cache: false,
            success: function(html){
            $("#content").html(html);        
            }
        });                
});

Код

<div id="link1" class="route">link1</div>
<div id="link2" class="route">link2</div>
<div id="link3" class="route">link3</div>

<div id="content1" >content</div>
<div id="content2" >content</div>
<div id="content3" >content</div>


в строчке "6" манипуляции с id-шкой, подскажите каким образов можно выстащить её что бы указать в строке "9" для передаче её, или может как то можно тоже replace'ом сделать.
Заранее благодарен.

Автор: нуп 22.8.2012, 22:30
Код

var id = this.getAttribute('id').split('link')[1];

Проще прописать дополнительный атрибут, и в нем хранить данные
<div class="route" data-id="1"></div>

Автор: finogeev 22.8.2012, 23:18
Громадное спасибо, в первом случае прокатило, 
Код

$("#content" + id).show();

только вот вопрос по синтаксису JS не могу понять, как его правильно вставить в атрибут jQuery
Код
           
        $.ajax({
            url: "content.php?var=" + id,
            cache: false,
            success: function(html){
            $("#content").html(html);        
            }
        });        


так не проходит ....

Автор: нуп 22.8.2012, 23:47
$('#content' + id).html(data);
Кстати это походу неправильный селектор $("#div.route"). Лучше проверьте его

Автор: finogeev 23.8.2012, 08:56
Да селектор ошибочно ввел в примере, спасибо - поправил ..
А по поводу вставки id в код, не получается, мне необходимо её передать в этой строчке
Код

 url: "content.php?var=" + id,

когда подключаю удаленный файл, именно ему и передается id-шка

Автор: нуп 23.8.2012, 09:15
Посмотрите в консоли, проходит ли запрос. И что сервер вернул. Firebug для ff F12, консоль хрома f12, опера ctrl + shift + i

Автор: finogeev 23.8.2012, 11:07
Спасибо, добрый и единственный человек который мне помог ...
я хоть немного стал понимать JS

Автор: finogeev 24.8.2012, 08:52
Цитата(нуп @ 22.8.2012,  22:30)
Код

var id = this.getAttribute('id').split('link')[1];

Проще прописать дополнительный атрибут, и в нем хранить данные
<div class="route" data-id="1"></div>

Извиняюсь, но есть ещё один вопрос.
в подсказанном Вам примере, я стал в другом коде передавать данные в JS ..., например
Код

<div id="toData1toДанные1">Data div 1</div>
<div id="toDatat2toДанные2>Data div 2</div>

Код

var iata = this.getAttribute('id').split('to')[1]; 
var iata_name = this.getAttribute('id').split('to')[2]; 


Смысл в том, что второе значение которое передается в js на "кириллице" и всё прекрасно работает и устраивает меня, но в IE кирилица не обрабатывается в js получается �� почему то .... Соответственно код рушиться. Хотя везде на всех страница прописан
Код

header('Content-Type: text/html; charset=utf-8');


Может надо както в файле js (в котором вся обработка идет) указать charset, только как вот?

Автор: Aliance 24.8.2012, 09:50
Код

$("#div.route")

что это? smile  зачем там знак #?

Добавлено через 1 минуту и 40 секунд
Цитата(finogeev @  24.8.2012,  09:52 Найти цитируемый пост)
Может надо както в файле js (в котором вся обработка идет) указать charset, только как вот? 

Код

<script type="text/javascript" charset="UTF-8" src="script.js"></script>

плюс сам файл должен находится в нужной кодировке. желательно еще и сервером отдавать js файлы в нужной кодировке.

Автор: нуп 24.8.2012, 09:56
Все файлы перевести в utf-8 + meta charset + apache

Автор: finogeev 24.8.2012, 19:48
Всем спасибо! Оказалось сам файл был не в utf.
И на последок послений вопрос по jquery, а может и не по нему

Скажите каким селектором можно выбрать для дальнейшей заменить значение атрибута "action" в форме ... что только не перепробывал

Код

<form method="get" action="/datd/" id="form_part">
</form>


Добавлено позже.
Сам спросил сам и нашел...

Код

$("#form_part").attr("action", "value");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)