ФорумПрограммированиеПыхнуть хотите?F.A.Q. → Интерактивный select без перезагрузки страницы

Интерактивный select без перезагрузки страницы

  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:10, спустя 3 минуты

    браузер соснет у тебя хуйка :)

    а сервер в это время сам у себя отсасывает :)

    phpdude, цук, твои высказывания самые мощные  =))))))))))
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:11, спустя 1 минуту 41 секунду


    браузер соснет у тебя хуйка :)

    а сервер в это время сам у себя отсасывает :)

    phpdude, цук, твои высказывания самые мощные  =))))))))))
    а плюс детка?)
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:13, спустя 1 минуту 47 секунд



    браузер соснет у тебя хуйка :)

    а сервер в это время сам у себя отсасывает :)

    phpdude, цук, твои высказывания самые мощные  =))))))))))
    а плюс детка?)
    поставил дедке плюс =))
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:13, спустя 27 секунд




    браузер соснет у тебя хуйка :)

    а сервер в это время сам у себя отсасывает :)

    phpdude, цук, твои высказывания самые мощные  =))))))))))
    а плюс детка?)
    поставил дедке плюс =))
    хыы чмоки чмоки, я вас всех так лю =))
    Сапожник без сапог
  • Baboot

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 26 ноября 2009 г. 4:14, спустя 1 минуту 1 секунду

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

    +appendTo - транслируется в $(A).append(B)…
    Да тяжело, но в случае даже из 50 элемениов FF 3,5 не напрягается
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:18, спустя 3 минуты 21 секунду

    Baboot, я както делал календарь показывал тут кажется, такой большой планировщик полностью аяксовый, так вот там понял что делать так - плохой метод ))))))))))))))))))

    когда у меня была таблица 50 товаров * 4 недели * 7 дней в неделе = 1400 итераций. там я все по книжке

    $("<div/>").addClass("day shadow").html(data.products[j].html).appendTo("#cal");

    вот тогда то у меня посасывал браузер (на моем не самом медленном буке) как миленький {+++22+++} я тоже не хотел сказать что ты не прав, но просто подметил на всякий {+++19+++} ахуенная у мну цепочка на аве на шее ага? недавно в барахолке приобрел -))
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:19, спустя 1 минуту 7 секунд

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

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 26 ноября 2009 г. 4:29, спустя 10 минут 19 секунд

    NRG, А я разве сказал что это моя заслуга? Я просто показал то что это выглядет как предложение которое можно перевести со словарем англ языка и ты поймешь что происходит. И если у тебя кол-во входных данных небольшое, то разница между лепкой строки и аппендом в ДОМ будет совершенно незначительная….

    PS: я понимаю что это разговор не о чем… ЧТо можно спорить что разница м/у 0,0002 и 0,0004сек состовляет аж 200%, но в рамках именно примера с небольшими данными это хуйня абсолютная и полная. И именно для МЕНЯ читаемость когда получает больший приотитет
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:28, спустя 23 часа 58 минут 59 секунд

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

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 26 ноября 2009 г. 4:32, спустя 3 минуты 34 секунды

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

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 26 ноября 2009 г. 4:36, спустя 4 минуты 12 секунд

    заебали сраться чмоки) {+++25+++} дуд не хотел холивар устраивать на пустом месте, лучше бы DudeFrontend посмотрели!)
    Сапожник без сапог
  • Kostya

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 14 июня 2010 г. 10:44, спустя 200 дней 5 часов 8 минут

    Это, тоже начинающий)
    Тут вопрос такой, не мудрствуя лукаво, продублировал скрипт:
    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

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 14 июня 2010 г. 11:58, спустя 1 час 13 минут 28 секунд

    onclick="document.getElementById("rub2").innerHTML=''" на кнопку {+++19+++} и не жава, а жаваскрипт
    adw/0
  • Kostya

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 15 июня 2010 г. 2:51, спустя 14 часов 53 минуты 42 секунды

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


    Файлик select.php
    <form action=&quot;&quot; method=&quot;POST&quot;>

    res=mysql_query(&#39;SELECT * FROM `SEARCH_rub1` order by `name`&#39;);
    $str=&#39;&#39;;
    $tpl=file_get_contents(&#39;template/search_item.tpl&#39;);
    while ($a=mysql_fetch_assoc($res))
    {
    $str.=str_replace(array(&#39;{VAL}&#39;,&#39;{TEXT}&#39;),array($a[&#39;id&#39;],$a[&#39;name&#39;]),$tpl);
    }
    $tpl2=file_get_contents(&#39;template/search_form.tpl&#39;);
    $html=&#39;&#39;;
    $html.=str_replace(&#39;{SELECT_ITEM}&#39;,$str,$tpl2);
    echo $html;

    <div id=&quot;rub2&quot;></div>
    <div id=&quot;rub3&quot;></div>
    <input type=&quot;reset&quot;>


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


    Файлик select3.php
    require(&quot;JsHttpRequest.php&quot;); //Подключаем библиотеку
    $JsHttpRequest=new JsHttpRequest(&quot;utf-8&quot;); //Создаем экземпляр класса, указываю рабочую кодировку.
    include_once(&#39;modules/db.php&#39;);
    mysql_query(&quot;set names utf8&quot;);
    $res=mysql_query(&#39;select * from `SEARCH_rub3` where `id_rub2`=&#39;.$_REQUEST[&#39;rub2&#39;]);
    $str=&#39;&#39;;
    $tpl=file_get_contents(&#39;template/search_item.tpl&#39;);
    while ($a=mysql_fetch_assoc($res))
    {
    $str.=str_replace(array(&#39;{VAL}&#39;,&#39;{TEXT}&#39;),array($a[&#39;id&#39;],$a[&#39;name&#39;]),$tpl);
    }
    $tpl2=file_get_contents(&#39;template/search_form3.tpl&#39;);
    $str2=&#39;&#39;;
    $str2.=str_replace(&#39;{SELECT_ITEM}&#39;,$str,$tpl2);
    echo $str2;

    Так вот вопрос в том, чтобы сделать по кнопочке ресет возврат в первоночальное состояние с 1ним селектом…
    рабочий вариант можно глянуть тут:http://temp.web-energo.by/5/select.php

  • Sinkler

    Сообщения: 9658 Репутация: N Группа: в ухо

    Spritz 15 июня 2010 г. 3:05, спустя 13 минут 11 секунд

    у меня обычно всё зависит от первого селекта, так что обычно достаточно сделать в первом дефолтовый оптион selected {+++74+++} типа так http://scanlot.ru/user/reg.php

Пожалуйста, авторизуйтесь, чтобы написать комментарий!