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

PHP MYSQL динамично поле за избор

Първо създайте менюто за избор на номер 1 с php, както споменахте по-горе. След това добавете 'change' eventListener към него като:

$('#select1').change(createSelect2);

function createSelect2(){
    var option = $(this).find(':selected').val(),
    dataString = "option="+option;
    if(option != '')
    {
        $.ajax({
            type     : 'GET',
            url      : 'http://www.mitilini-trans.gr/demo/test.php',
            data     : dataString,
            dataType : 'JSON',
            cache: false,
            success  : function(data) {            
                var output = '<option value="">Select Sth</option>';

                $.each(data.data, function(i,s){
                    var newOption = s;

                    output += '<option value="' + newOption + '">' + newOption + '</option>';
                });

                $('#select2').empty().append(output);
            },
            error: function(){
                console.log("Ajax failed");
            }
        }); 
    }
    else
    {
        console.log("You have to select at least sth");
    }
}

Сега менюто за избор на №2 има нови опции според избраната опция за избор на 1.

И php файлът:

<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');

if(isset($_GET['option']))
{
    $option = $_GET['option'];

    if($option == 1)
    {
        $data = array('Arsenal', 'Chelsea', 'Liverpool');
    }
    if($option == 2)
    {
        $data = array('Bayern', 'Dortmund', 'Gladbach');
    }       
    if($option == 3)
    {
        $data = array('Aek', 'Panathinaikos', 'Olympiakos');
    }

    $reply = array('data' => $data, 'error' => false);
}
else
{
    $reply = array('error' => true);
}

$json = json_encode($reply);    
echo $json; 
?>

Разбира се, използвам някои демонстрационни данни, но можете да накарате sql заявка да попълни масива $data там и да ги изпрати като json с правилните заглавки. Накрая използвайте още малко js за второто меню за избор:

$('#select2').change(selectSelect2);

function selectSelect2(){
    var option = $(this).find(':selected').val();
    if(option != '')
    {
        alert("You selected: "+option);
    }
    else
    {
        alert("You have to select at least sth");
    }
}

Вижте тук http://jsfiddle.net/g3Yqq/2/ работен пример



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединете 2 масива и сумирайте стойностите (цифрови клавиши)

  2. Добавете колона с първичен ключ към стара таблица без първичен ключ

  3. Свържете се с уеб услуга/API в MySQL?

  4. MySQL:Как да намерите листа в конкретен възел

  5. Как да сравним две таблици в MySQL