sql >> Databáze >  >> RDS >> Mysql

jquery k vyplnění více rozevíracího seznamu z databáze

Vaše cesta je v pořádku - ale bude potřebovat mnoho volání ajax, aby přineslo hodnoty možností pro všechna vybraná pole. Můžete to provést v jediném volání ajax pomocí JSON. Na stránce PHP můžete vytvořit pole, které bude obsahovat řetězce HTML představující možnosti pro čtyři výběrová pole. Poté můžete toto pole převést na řetězec JSON pomocí funkce json_encode():

$arr=array("second"=>"<option>....</option>.......<option...</option>", //for second dropdown
           "third"=>"<option>....</option>.......<option...</option>", //for third dropdown
           "fourth"=>"<option>....</option>.......<option...</option>", //for fourth dropdown
           "fifth"=>"<option>....</option>.......<option...</option>" //for fifth dropdown
  );
 echo json_encode($arr);

Poté na webové stránce můžete pro první rozevírací nabídku napsat funkci jQuery takto:

 function loadOptions(){
jQuery.ajax({

  success: function(data){
     jQuery("select#field_2").html(data["second"]);
     jQuery("select#field_3").html(data["third"]);
     jQuery("select#field_4").html(data["fourth"]);
     jQuery("select#field_5").html(data["fifth"]);
  }
});
}

Tímto způsobem můžete načíst možnosti pro všechny ostatní rozevírací nabídky v jednom volání ajax. Chápu, že podobnou funkci potřebujete i pro další rozbalovací nabídky. Podobnou funkci můžete napsat i pro jiné rozevírací nabídky. Zde je zobecněná funkce, ve které předáte číslo rozevíracího seznamu a funkce vrátí možnosti pro cílené rozevírací seznamy. Pokud například předáte rozevírací seznam číslo 2, funkce vrátí možnosti pro rozevírací seznamy 3, 4 a 5. Pokud předáte číslo 3, vrátí možnosti pro rozevírací seznamy 4 a 5 atd.

 function loadOptions(selectNo){
jQuery.ajax({
  data:{"selectNo",selectNo},
  success: function(data){
     switch(selectNo){
     case 1: jQuery("select#field_2").html(data["second"]);
     case 2: jQuery("select#field_3").html(data["third"]);
     case 3: jQuery("select#field_4").html(data["fourth"]);
     case 4: jQuery("select#field_5").html(data["fifth"]);
     }
  }
});
}

Na stránce PHP můžete napsat níže uvedený kód pro implementaci této funkce:

$selectNo=$_GET["selectNo"];
$arr=array();
switch(selectNo){
case 1: $arr["second"]="<option>....</option>.......<option...</option>"; //for second dropdown
case 2: $arr["third"]="<option>....</option>.......<option...</option>"; //for third dropdown
case 3: $arr["fourth"]="<option>....</option>.......<option...</option>"; //for fourth dropdown
case 4: $arr["fifth"="<option>....</option>.......<option...</option>"; //for fifth dropdown
}
 echo json_encode($arr);

Další informace o JSON naleznete zde .




  1. Jak přidat server pro správu v R12.2

  2. Připojte se ke dvěma stolům v Php

  3. Jak zkomprimovat databázi, aby běžela rychleji

  4. Zabezpečení databáze – šifrování záloh během přepravy a v klidu