|
|
|
| У меня есть несколько новостей и у каждой есть ссылки вида <a href='?plus=1&id=1'>+</a> и <a href='?minus=1&id=1'>-</a>. То есть каждой новости любой пользователь может поставить своё мнение, либо нравится, либо нет. Хочу сделать это по современному :) То есть при нажатии на ссылку, что бы страница не перегружалась, а использовала AJAX. Как бы сделал это на jquery, но вот проблема: в самой работе с AJAX`ом разобрался (исопльзую $.get), но вот как определить какой статье ставить плюс или минус, и как навешать одно и тоже событие на все эти кнопки - я не знаю :(
Буду очень признателен за помощь, заранее спасибо!
PS. и сразу тогда еще один вопрос, как сделать, что бы отправив запрос и пока пользователь ждал "оценки" новости ему выводилось вместо этих ссылок какая-нибудь картинка, а потом она заменялась каким-нибудь текстом (к примеру ГОТОВО) | |
|
|
|
|
|
|
|
для: DEM
(31.07.2011 в 00:55)
| |
<div class="news">
<div class="item">
<p>text</p>
<div class="vote">
<a href='?plus=1&id=1'>+</a> и <a href='?minus=1&id=1'>-</a>
</div>
</div>
</div>
$.each($('.news .item'),function(i,n){
$(n).find('.vote a').click(function(){
index =$('.vote a').index($(this)) // 0 ---> + ; 1 ---> -
$(this).parent().html('голос принят')
$.get(....)
return false;
})
})
|
| |
|
|
|
|
|
|
|
для: AlexSol
(31.07.2011 в 08:06)
| | большое спасибо! попробую...
скажите, а использовать $.get() нормально или лучше подойдёт $.ajax()? (как я понимаю $.post работает так же, как и ГЕТ, но только можно передавать текст большего объёма)? | |
|
|
|
|
|
|
|
для: DEM
(31.07.2011 в 08:32)
| | я использую $.get/$.post без $.ajax
$.post - передает методом post , $.get - через get | |
|
|
|
|
|
|
|
для: AlexSol
(31.07.2011 в 09:35)
| | то есть, в принципе, $.ajax() - это просто функция, которая обладает большей гибкостью чем $.get()/$.post(), но ничего кардинально важного не имеет? Просто я видел примеры на $.get() и на $.ajax(), просто во второй функции можно указать больше параметров, но они не существены (нужны для узкоспециализированных целей)? | |
|
|
|
|
|
|
|
для: DEM
(31.07.2011 в 09:49)
| | $.get()/$.post() вызывают $.ajax() передавая часть параметров самостоятельно | |
|
|
|
|
|
|
|
для: AlexSol
(31.07.2011 в 08:06)
| | Всё пытался сделать и не получается :( Страница всё равно перегружается и не понял, как можно передать в $.get(); параметр ID из ссылки :(
ПОмогите пожалуйста, а то в проекте остались только маленькие поправки и вот эта дыра, а jQuery не знаю совершенно (((
ЗЫ. я поставил пежду тегами <a> картинку (красивее выглядит, да и для дизайна надо), может тогда можно сделать как-то без <a>, а просто с картинкой? | |
|
|
|
|
|
|
|
для: DEM
(03.08.2011 в 06:54)
| | Погуглил (долго придумывал что имено там написать, но придумал) и увидел тему в ОТВЕТЫ ГУГЛ вопрос тоже про нажатие на ссылку, там привели такой пример:
$('#butt').live('click', function(){
alert(this);
});
|
Мой конечно косяк, что ЯваСкрипт у меня в начале файла формируется, до вывода каких-либо данных в HTML.
Стало работать на каждой ссылке, но вопрос про то, как достать ID до сих пор остаётся :( Может его тоже передавать в GET-параметре через this? | |
|
|
|
|
|
|
|
для: DEM
(03.08.2011 в 07:16)
| | можно просто указать событие, когда DOM будет доступен )
<div class="news">
<div class="item">
<p>text</p>
<div class="vote">
<a href='?plus=1&id=1'>+</a> и <a href='?minus=1&id=1'>-</a>
</div>
</div>
</div>
$(function(){
$.each($('.news .item'),function(i,n){
$(n).find('.vote a').click(function(){
index =$('.vote a').index($(this)) // 0 ---> + ; 1 ---> -
var href=$(this).attr("id");
var arr = href.spit('=')
alert(arr[2])
$(this).parent().html('голос принят')
$.get(....)
return false;
})
})
})
|
| |
|
|
|
|
|
|
|
для: AlexSol
(03.08.2011 в 08:14)
| | Фух, наконец-то разобрался :) Большое спасибо!
Но, как всегда (во всяком случае у меня :) ), возникла другая проблема... при передаче русского текста из формы он преобразуется в крякозябру :( Пробовал через escape кодировать, а в РНР декодировать (urldecode), но он просто кодирует в unix-кодировку, а потом обратно в крякозябру((( | |
|
|
|
|
|
|
|
для: DEM
(04.08.2011 в 13:46)
| | utf8 | |
|
|
|
|
|
|
|
для: AlexSol
(04.08.2011 в 14:06)
| | Э-э-э-э... просто прописать в хидере файла куда мы отправляем запрос и на странице с которого запрос идёт кодировку? Спасибо, сейчас попробую... | |
|
|
|