Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   AJAX (https://nowa.cc/forumdisplay.php?f=309)
-   -   Динамические select'ы (AJAX) (https://nowa.cc/showthread.php?t=202626)

ITyleR 28.01.2009 15:31

Динамические select'ы (AJAX)
 
Есть отличный код для динамического вывода данных select'ов с без перезагрузки.

Код используется для поиска объектов. Все прекрасно работает, НО хоть убейте не могу понять как сделать, чтобы при показе результатов поиска в select'ы автоматически показывались (selected) выбраные ранее опшены..

Код:

<script language=Javascript>

function Inint_AJAX() {
  try { return new ActiveXObject(\"Msxml2.XMLHTTP\");  } catch(e) {} //IE
  try { return new ActiveXObject(\"Microsoft.XMLHTTP\"); } catch(e) {} //IE
  try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
  alert(\"XMLHttpRequest not supported\");
  return null;
};

function dochange(src, val) {
    var req = Inint_AJAX();
    req.onreadystatechange = function () {
          if (req.readyState==4) {
              if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; //
              }
          }
    };
    req.open(\"GET\", \"/js/location/locale_ofc.php?data=\"+src+\"&val=\"+val); //
    req.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded;charset=windows-1251\"); // set Header
    req.send(null); //
}

window.onLoad=dochange('region', -1, ".$srchPat[0].", ".$srchPat[2].");
</script>

<font id=region><select name='region' id='region'>
<option value=''>Не важно</option>
</select></font></td>

<font id=district><select name='district' id='district'>
<option value=''>Не важно</option>
</select></font>

<font id=metro><select name='metro' id='metro'>
<option value=''>Не важно</option>
</select></font>

Код:

    //
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header ("Cache-Control: no-cache, must-revalidate");
    header ("Pragma: no-cache");
    header("content-type: application/x-javascript; charset=windows-1251");
    $data=$_GET['data'];
    $val=$_GET['val'];

    //
$dbhost = "localhost";
$dbuser = "xxxxx";
$dbpass = "xxxxx";
$dbname = "xxxxx";
mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server"); 
    if ($data=='region') {
          echo "<select name='region' onChange=\"dochange('district', this.value), dochange('metro', this.value), dochange('name', this.value)\">\n";
          echo "<option value=''>-----Выбрать-----</option>\n";
          $result=mysql_db_query($dbname,"SELECT location_ID, location_name FROM Classificator_location WHERE location_comment LIKE 'reg' order by location_name");
          while(list($id, $name)=mysql_fetch_array($result)){
              echo "<option value=\"$id\">$name</option> \n" ;
                          }
          }
       
        if ($data=='district') {
          echo "<select name='district'>\n";
          echo "<option value=''>-----Выбрать-----</option>\n";
          $val2=$val;
          $val = substr($val,0,6);                               
          $result=mysql_db_query($dbname,"SELECT location_ID, location_name FROM Classificator_location WHERE location_ID != '$val2' AND location_ID LIKE '$val%' AND location_comment LIKE 'disreg' ORDER BY location_name");
          while(list($id, $name)=mysql_fetch_array($result)){
              if ($id==$sel2){
              echo "<option value=\"$id\">$name</option> \n" ;
                          }
          }
 
   
       
        else if ($data=='metro') {
          echo "<select name='metro'>\n";
          echo "<option value=''>-----Выбрать-----</option>\n";
          $val2=$val;
          $val = substr($val,0,6);                               
          $result=mysql_db_query($dbname,"SELECT location_ID, location_name FROM Classificator_location WHERE location_ID != '$val2' AND location_ID LIKE '$val%' AND location_comment LIKE 'met' ORDER BY location_name");
          while(list($ID, $name)=mysql_fetch_array($result)){     
              echo "<option value=\"$ID\">$name</option> \n" ;
          }
    }
          echo "</select>\n";


OlegRom 07.02.2009 12:01

Re: Динамические select'ы (AJAX)
 
при изменении значения Select'a, посылайте данные выбранные элементы в ПХП скрипт, который сохранит их где-нибудь: сессия или бд или тектовый файл. Когда пхп будет высылать значения для выбранного элемента Select'a, пускай так же высылает какой элемент выбран.

KarpovSergei 28.08.2009 22:05

Динамические selectы AJAX
 
. Gecko createElement , appendChild ,

/divfunction editW
var fram = document.createElementiframe;
fram.id = tempFrame;
fram.style.width = 200px;
fram.style.height=200px;
document.getElementByIdwyz.parentNode.appendChildf ram;
crFrametempFrame;


function crFramefn
f = document.getElementByIdfn;
if f.contentWindow.document.body
setTimeoutcrFrame fn , 10;
return;

f.contentWindow.document.designMode = On;


Текущее время: 08:25. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02452 секунды с 9 запросами