Mysql
 sql >> база данни >  >> RDS >> Mysql

jquery за попълване на множество падащи списъци от базата данни

Вашият начин е добър - но ще са необходими много извиквания на ajax, за да донесе стойности на опции за всички избрани полета. Можете да постигнете това с едно ajax повикване, използвайки JSON. На страницата PHP можете да създадете масив, който ще съдържа HTML низовете, представляващи опциите за четирите полета за избор. След това можете да конвертирате този масив в JSON низ с помощта на функцията 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);

След това на уеб страницата, за първото падащо меню, можете да напишете jQuery функция по следния начин:

 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"]);
  }
});
}

По този начин можете да заредите опциите за всички други падащи менюта в едно ajax извикване. Разбирам, че имате нужда от подобна функционалност и за други падащи менюта. Можете да напишете подобна функция и за други падащи менюта. Ето една обобщена функция, в която предавате падащия номер и функцията ще върне опциите за целеви падащи менюта. Например, ако предадете падащо меню номер 2, функцията ще върне опции за падащи менюта 3, 4 и 5. Ако предадете 3, ще върне опции за падащи менюта 4 и 5 и т.н.

 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"]);
     }
  }
});
}

На страницата на PHP можете да напишете кода по-долу, за да приложите тази функционалност:

$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);

Повече информация за JSON можете да намерите тук .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете само уникален ред/запис в mysql

  2. Свързване на Heroku към RDS с помощта на MySql2

  3. Вземете резултати от MySQL с помощта на PDO

  4. Намерете най-новите дублирани ID с MySQL

  5. Инсталиране на MySQLdb специално в python 2.7 на centos