Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с jQuery ajax. / 21 сообщений из 21, страница 1 из 1
21.04.2010, 13:42:57
    #36590065
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
На странице имеются множество однотипных ссылок. При клике на них надо асинхронно обращаться к скрипту. Сейчас у меня это работает через xmlhttprequest, хочу переделать на джейквери.
Сразу появились трудности. Например, ссылки выводятся в цикле и их атрибуты строятся в зависимости от свойств объекта вывода:

Код: plaintext
1.
2.
3.
echo '<div id="block'.$one->id.'" class="unblock" style = "display:block">
                   <a href="Javascript:void(0);" onclick="Javascript:send_command(\''.url::site('/handler?act=block&id='.$one->id).'\');" class="add_a">Заблокировать</a>
               </div>';

Функция send_command

Код: plaintext
1.
2.
3.
4.
5.
6.
function send_command(url) {
		var destUrl = url;
		xmlhttp.open("GET", destUrl, true);
		xmlhttp.onreadystatechange = updatePage;
		xmlhttp.send(null);
	}

Теперь я не знаю как мне с помощью джейквери повешать на все эти ссылки обработчики кликов и правильно параметры передать.
...
Рейтинг: 0 / 0
21.04.2010, 14:00:21
    #36590137
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Код: plaintext
1.
2.
3.
4.
$(div [id.substr( 0 , 5 )='block']).click = function({
    url = '...' + this.id + '...' ;
    send_command(url)
});
может как-нить так?))
...
Рейтинг: 0 / 0
21.04.2010, 14:02:11
    #36590144
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
хотя если id.substr(0,5)='block' писать нельзя, то внутри функции это проверять if-ом
...
Рейтинг: 0 / 0
21.04.2010, 14:08:27
    #36590171
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
да так писать нельзя))
может так?
Код: plaintext
1.
2.
3.
4.
5.
$("div").click(function(){
		if(this.id.substr( 0 , 5 ) == 'block')
			alert( 123 );
	});

...
Рейтинг: 0 / 0
21.04.2010, 14:13:50
    #36590188
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
EmilRegisда так писать нельзя))
может так?
Код: plaintext
1.
2.
3.
4.
5.
$("div").click(function(){
		if(this.id.substr( 0 , 5 ) == 'block')
			alert( 123 );
	});



Спасибо, дали зацепку, буду пробовать
...
Рейтинг: 0 / 0
21.04.2010, 16:36:23
    #36590629
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Что за дикость - назначать обработчик ВСЕМ дивам, а внутри уже проверять, подходит ли? - Неразумно, нерационально, неоптимально.

Есть замечательная документация по jQuery, ими внедрено большое количество селекторов, а пользуемся только equal?
Код: plaintext
$("div[id^='block']").click(function(){});
...
Рейтинг: 0 / 0
21.04.2010, 16:43:57
    #36590652
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
IDVsbruckЧто за дикость - назначать обработчик ВСЕМ дивам, а внутри уже проверять, подходит ли? - Неразумно, нерационально, неоптимально.

Есть замечательная документация по jQuery, ими внедрено большое количество селекторов, а пользуемся только equal?
Код: plaintext
$("div[id^='block']").click(function(){});


А как быть с параметрами? Нужно передавать айди позиции, айди зашито в свойство айди дива так
Код: plaintext
<div id="block35">...
...
Рейтинг: 0 / 0
21.04.2010, 18:39:57
    #36590928
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
В обработчике и бери id элемента.
...
Рейтинг: 0 / 0
21.04.2010, 19:18:39
    #36591015
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
IDVsbruckВ обработчике и бери id элемента.

Ну например взяли мы

Код: plaintext
1.
var id = 'ablock123';

как число оттуда вытянуть?
...
Рейтинг: 0 / 0
22.04.2010, 04:17:13
    #36591438
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
EsofterIDVsbruckВ обработчике и бери id элемента.

Ну например взяли мы

Код: plaintext
1.
var id = 'block123';

как число оттуда вытянуть?
Код: plaintext
parseInt(id.substr( 5 ))
...
Рейтинг: 0 / 0
22.04.2010, 12:26:33
    #36592106
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Всем спасибо! Наконец-то я разбираюсь в джейквери. Действительно с аджаксом в нем работать одно удовольствие, до этого все вручную с xmlhttprequest делал.
...
Рейтинг: 0 / 0
22.04.2010, 14:09:24
    #36592383
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
EsofterНаконец-то я разбираюсь в джейквери.
... меня терзают смутные сомненья ...

А с ajax'ом действительно работать очень приятно: кеширует, проксирует, "пулит" - очень достойная вещь. Пару раз напрягало управление событийной моделью, но вроде выкручивался.
...
Рейтинг: 0 / 0
22.04.2010, 15:38:46
    #36592630
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
IDVsbruckEsofterНаконец-то я разбираюсь в джейквери.
... меня терзают смутные сомненья ...


Почему? Я же не писал что разобрался, а разбираюсь. Это разные вещи.
...
Рейтинг: 0 / 0
22.04.2010, 15:58:49
    #36592689
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Ну что за люди пошли ... :)
Мы уже когда-то с Ириной (illion, надеюсь в имени не ошибся :)) уже проводили лингвистические изыски.

"Я разбираюсь" - вроде как Present Indefinite
"Наконец-то я разбираюсь" - можно, конечно, трактовать как "наконец-то у меня появилось время, чтобы начать разбираться", но обычно подразумевается как "наконец-то я стал разбираться" - типа Present Perfect Continuous. Так что выдергивать слова из контекста некорректно :)
...
Рейтинг: 0 / 0
22.04.2010, 16:06:32
    #36592713
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
IDVsbruck,

ещё есть классическое кроссфорумное "вопрос решен! топик мона закрывать!!" (с)

Это в какой категории?
...
Рейтинг: 0 / 0
22.04.2010, 16:11:09
    #36592728
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Яростный Мечещё есть классическое кроссфорумное "вопрос решен! топик мона закрывать!!" (с)
Есть такое :). Но, не видел ни разу, чтобы после этого топик закрыли. :)
...
Рейтинг: 0 / 0
22.04.2010, 16:13:40
    #36592737
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
ShSergeЯростный Мечещё есть классическое кроссфорумное "вопрос решен! топик мона закрывать!!" (с)
Есть такое :). Но, не видел ни разу, чтобы после этого топик закрыли. :)Так это понятно, чтоб другие могли потом задать смежный (или уточняющий) вопрос без нового топика.

Но сколько эмоций в этих словах!
...
Рейтинг: 0 / 0
22.04.2010, 16:25:50
    #36592771
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
IDVsbruck
"Наконец-то я разбираюсь" - можно, конечно, трактовать как "наконец-то у меня появилось время, чтобы начать разбираться", но обычно подразумевается как "наконец-то я стал разбираться"

Это не обычный случай, трактовать надо как "наконец-то у меня появилось время, чтобы начать разбираться"
...
Рейтинг: 0 / 0
22.04.2010, 18:38:08
    #36593157
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Еще одна проблема появилась.
Есть форма добавления картинок. Картинки должны добавляться без перезагрузки. Юзал плагин jQuery.form.

Вот форма

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<form action = "<? echo url::site('/handler/add_img') ?>" method="post" name = "img_form" enctype="multipart/form-data">
Изображение:<input name="image" type = "file" />
<input type="hidden" name ="product_id" value = "<?echo $product->id?>" />
</form>
<div class="save">
 <a href="Javascript:void(0)" onClick="document.forms.img_form.submit();" class="save_a">Сохранить</a>
</div>

А вот джаваскрипт

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$(document).ready(function() { 
    var options = { target: '#img_list',success: process_response }; 
    $('#img_form').submit(function() { 
        $(this).ajaxSubmit(options); 
        return false; 
    });
}); 
  function process_response(responseText, statusText)
  {
  alert(responseText);
  }

Алерт не сработал и меня перебросило на страницу, указанную в экшне и она отработала как надо. Почему меня туда перекинуло? Должно ведь было асинхронно отправить данные.
...
Рейтинг: 0 / 0
22.04.2010, 19:11:41
    #36593250
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Проблема была в том что айди формы не указано было. Сейчас скрипт отрабатывает, но success callback не срабатывает. Что может быть кто знает?
...
Рейтинг: 0 / 0
22.04.2010, 20:51:40
    #36593404
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с jQuery ajax.
Проблема решена
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с jQuery ajax. / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]