Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 25 Май, 2012, 09:21:34

Страниц: 1 ... 15 16 [17] 18 19 20
Печать
Автор Тема: Интерактивный select без перезагрузки страницы  (Прочитано 30525 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
phpdude    ↓ 
26 Ноябрь, 2009, 12:07:00
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66


можно еще так  
Javascript
$('#region_id').empty();
$(result.regions).each(function()
{
    $('<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>').appendTo('#region_id');
});
 

Jquery ахуенен... Читать его одно удовольствие... Как предложение все сразу понятно че происходит
это конечно ахуенно, но если у тебя будет список городов элементов на 2к то браузер соснет у тебя хуйка :)
 
такие вещи надо пиздец кешировать ... это как книги по скл, вроде все ахуенно написано, все удобно при 6ой нормализации, а сервер в это время сам у себя отсасывает :)
в данной ситуации надо делать как в примерах выше
 
html += "<option ... >";
 
и вставлять потом одним действием в дом модель. а у тебя честно гря вообще пиздец примерчик))
 
ты сначала СОЗДАЕШЬ элемент <option> , потом делаешь выборку в дом дереве #region_id и проиводишь именение дом дерева - appendTo. это все тяжелые операции увы :(
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
NRG    ↓ 
26 Ноябрь, 2009, 12:10:00 , спустя 3 минуты
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

браузер соснет у тебя хуйка :)
а сервер в это время сам у себя отсасывает :)
phpdude, цук, твои высказывания самые мощные  =))))))))))
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
phpdude    ↓ 
26 Ноябрь, 2009, 12:11:41 , спустя 1 минуту 41 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66


браузер соснет у тебя хуйка :)
а сервер в это время сам у себя отсасывает :)
phpdude, цук, твои высказывания самые мощные  =))))))))))
а плюс детка?)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
NRG    ↓ 
26 Ноябрь, 2009, 12:13:28 , спустя 1 минуту 47 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81



браузер соснет у тебя хуйка :)
а сервер в это время сам у себя отсасывает :)
phpdude, цук, твои высказывания самые мощные  =))))))))))
а плюс детка?)
поставил дедке плюс  =))
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
phpdude    ↓ 
26 Ноябрь, 2009, 12:13:55 , спустя 27 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66




браузер соснет у тебя хуйка :)
а сервер в это время сам у себя отсасывает :)
phpdude, цук, твои высказывания самые мощные  =))))))))))
а плюс детка?)
поставил дедке плюс  =))
хыы чмоки чмоки, я вас всех так лю =))
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Baboot    ↓ 
26 Ноябрь, 2009, 12:14:56 , спустя 1 минуту 1 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 441
Сила слова: 2.27

phpdude, я не говорил что так лучше прошу заметить =)  
ты сначала СОЗДАЕШЬ элемент <option> , потом делаешь выборку в дом дереве #region_id и проиводишь именение дом дерева - appendTo. это все тяжелые операции увы :(
+appendTo - транслируется в $(A).append(B)...
Да тяжело, но в случае даже из 50 элемениов FF 3,5 не напрягается
Записан

2b||!2b
phpdude    ↓ 
26 Ноябрь, 2009, 12:18:17 , спустя 3 минуты 21 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

Baboot, я както делал календарь показывал тут кажется, такой большой планировщик полностью аяксовый, так вот там понял что делать так - плохой метод ))))))))))))))))))
 
когда у меня была таблица 50 товаров * 4 недели * 7 дней в неделе = 1400 итераций. там я все по книжке
 
$("<div/>").addClass("day shadow").html(data.products[j].html).appendTo("#cal");
 
вот тогда то у меня посасывал браузер (на моем не самом медленном буке) как миленький
Спустя 22 секунды добавил
я тоже не хотел сказать что ты не прав, но просто подметил на всякий
Спустя 19 секунд добавил
ахуенная у мну цепочка на аве на шее ага? недавно в барахолке приобрел -))
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
NRG    ↓ 
26 Ноябрь, 2009, 12:19:24 , спустя 1 минуту 7 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

то, что он не напрягается это не твоя заслуга,  атем более не твоего подхода...
дуд правильно сказал, при больших пачках данных нехуй скидывать всю работу на DOM
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Baboot    ↓ 
26 Ноябрь, 2009, 12:29:43 , спустя 10 минут 19 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 441
Сила слова: 2.27

NRG, А я разве сказал что это моя заслуга? Я просто показал то что это выглядет как предложение которое можно перевести со словарем англ языка и ты поймешь что происходит. И если у тебя кол-во входных данных небольшое, то разница между лепкой строки и аппендом в ДОМ будет совершенно незначительная....
 
PS: я понимаю что это разговор не о чем... ЧТо можно спорить что разница м/у 0,0002 и 0,0004сек состовляет аж 200%, но в рамках именно примера с небольшими данными это хуйня абсолютная и полная. И именно  для МЕНЯ читаемость когда получает больший приотитет
« Последнее редактирование: 26 Ноябрь, 2009, 12:29:43 от Baboot » Записан

2b||!2b
NRG    ↓ 
26 Ноябрь, 2009, 12:28:42 , спустя
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

Baboot,
дуд правильно сказал, при больших пачках данных нехуй скидывать всю работу на DOM
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Baboot    ↓ 
26 Ноябрь, 2009, 12:32:16 , спустя 3 минуты 34 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 441
Сила слова: 2.27

NRG, ответ касался первого предложения:
то, что он не напрягается это не твоя заслуга,  атем более не твоего подхода...
Записан

2b||!2b
phpdude    ↓ 
26 Ноябрь, 2009, 12:36:28 , спустя 4 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

заебали сраться чмоки)
Спустя 25 секунд добавил
дуд не хотел холивар устраивать на пустом месте, лучше бы DudeFrontend посмотрели!)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Kostya    ↓ 
14 Июнь, 2010, 06:44:43 , спустя 200 дней 5 часов 8 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 2
Сила слова: 0

Это, тоже начинающий)
Тут вопрос такой, не мудрствуя лукаво, продублировал скрипт:
Java
function doload(value){
var req=new JsHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("rub2").innerHTML=req.responseText;}
req.open(null,"select2.php",true);
req.send({rub1:value});}
в итоге получилось хорошо, но есть 1но НО!(
как "обнулять" поиск кнопкой? обычный reset просто обнуляет 2 верхних поля...
Заранее спасибо!
Записан
adw0rd    ↓ 
14 Июнь, 2010, 07:58:11 , спустя 1 час 13 минут 28 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17633
Сила слова: 1.67

onclick="document.getElementById("rub2").innerHTML=''" на кнопку
Спустя 19 секунд добавил
и не жава, а жаваскрипт
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Kostya    ↓ 
15 Июнь, 2010, 10:51:53 , спустя 14 часов 53 минуты 42 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 2
Сила слова: 0

Может я просто не до конца код выложил...
Javascript
<script>
function doload(value){
var req=new JsHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("rub2").innerHTML=req.responseText;}
req.open(null,"select2.php",true);
req.send({rub1:value});}
</script>
<script>
function doload2(value){
var req=new JsHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("rub3").innerHTML=req.responseText;}
req.open(null,"select3.php",true);
req.send({rub2:value});}
</script>

Файлик select.php
HTML
<form action="" method="POST">
PHP
res=mysql_query('SELECT * FROM `SEARCH_rub1` order by `name`');
    $str='';
    $tpl=file_get_contents('template/search_item.tpl');
    while ($a=mysql_fetch_assoc($res))
    {
        $str.=str_replace(array('{VAL}','{TEXT}'),array($a['id'],$a['name']),$tpl);
    }
    $tpl2=file_get_contents('template/search_form.tpl');
    $html='';
    $html.=str_replace('{SELECT_ITEM}',$str,$tpl2);
    echo $html;
HTML
<div id="rub2"></div>
<div id="rub3"></div>
<input type="reset">

Файлик select2.php
PHP
require("JsHttpRequest.php"); //Подключаем библиотеку
$JsHttpRequest=new JsHttpRequest("utf-8"); //Создаем экземпляр класса, указываю рабочую кодировку.
include_once('modules/db.php');
mysql_query("set names utf8");
$res=mysql_query('select * from `SEARCH_rub2` where `id_rub1`="'.intval($_REQUEST['rub1']).'" order by `name`');
$str='';
    $tpl=file_get_contents('template/search_item.tpl');
    while ($a=mysql_fetch_assoc($res))
    {
        $str.=str_replace(array('{VAL}','{TEXT}'),array($a['id'],$a['name']),$tpl);
    }
    $tpl2=file_get_contents('template/search_form2.tpl');
    $str2='';
    $str2.=str_replace('{SELECT_ITEM}',$str,$tpl2);
    echo $str2;

Файлик select3.php
PHP
require("JsHttpRequest.php"); //Подключаем библиотеку
$JsHttpRequest=new JsHttpRequest("utf-8"); //Создаем экземпляр класса, указываю рабочую кодировку.
include_once('modules/db.php');
mysql_query("set names utf8");
$res=mysql_query('select * from `SEARCH_rub3` where `id_rub2`='.$_REQUEST['rub2']);
    $str='';
    $tpl=file_get_contents('template/search_item.tpl');
    while ($a=mysql_fetch_assoc($res))
    {
        $str.=str_replace(array('{VAL}','{TEXT}'),array($a['id'],$a['name']),$tpl);
    }
    $tpl2=file_get_contents('template/search_form3.tpl');
    $str2='';
    $str2.=str_replace('{SELECT_ITEM}',$str,$tpl2);
    echo $str2;
Так вот вопрос в том, чтобы сделать по кнопочке ресет возврат в первоночальное состояние с 1ним селектом...
рабочий вариант можно глянуть тут:http://temp.web-energo.by/5/select.php
 
Записан
Страниц: 1 ... 15 16 [17] 18 19 20
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, artoodetoo, mario