0
0 Комментариев

Привет!
Есть необходимость сделать динамические списки при помощи js, ajax jQuery, Python.
Данные в скрипт передал, сделал выборку по базе, по вот как вернуть ответ и как по нему заполнить поле выбора города на основании региона не могу понять.
Вот код страницы с дивами из которых беру данные и в который пытаюсь подгрузить города:

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <title>Отправить комментарий</title>
    <link href='../css/style.css' rel='stylesheet' type='text/css'>
</head>
 
<body>
 
    <form name="comm_send" action="../cgi-bin/form.py" class="comm_send" onsubmit="return ValForm()">
 
        <div class='form'>
            <label for='region'>Регион: </label>
            <select size="1"  id='region' name="region" onchange="selectRegion(this.value)">
                <option value=""></option>
                <option value="1">Краснодарский край</option>
                <option value="2">Ростовская область</option>
                <option value="3">Ставропольский край</option>
            </select>
        </div>
 
        <div class='form'>
            <div>Населённый пункт:<select id="city" name="selectDataRegion" value=""></select></div>
        </div>
 
        <div class="form">
            <input type="submit" value='Отправить'>
        </div>
 
    </form>
 
    <script type="text/javascript" src="../script/jquery.js"></script>
    <script type="text/javascript" src="../script/script.js"></script>
    <script type="text/javascript">
 
        function selectRegion(){
                var id_region = $('select[name="region"]').val();
                if(!id_region){
                        $('div[name="selectDataRegion"]').html('');
                }else{
                        $.ajax({
                                type: "GET",
                                url: "../cgi-bin/select_city.py",
                                data: {'id_region': id_region},
                                success: function(city) {
                                    var cities = city;
                                    var text = "<option value=''>Выберите город</option>";
                                    document.comm_send.city.innerHTML = cities;
 
                                }
                        });
                };
        };
    </script>
 
</body>
 
</html>

И вот код скрипта на python:

#!/usr/bin/env python3
 
import cgi
import sqlite3
 
conn = sqlite3.connect("comm.db")
cursor = conn.cursor()
 
receive = cgi.FieldStorage()
id_region = int(receive.getvalue("id_region"))
 
cursor.execute("SELECT city FROM cities WHERE region_id=?", (id_region,))
data = cursor.fetchall()
 
print(data)

Подскажите, пожалуйста, что я не так сделал. Заранее спасибо!


Добавить комментарий