Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2016, 20:39
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

PHP и JS формат JSON
Всем привет! Есть код на js и php (ajax изучаю), тут у меня задача по уроку JSON.

На странице есть два выпадающих списка "Страны" и "Города". Список страны: Россия и Украина. Список города: пустой. Во время выполнения скрипта в список города должны добавляться города (Москва и Питер при выборе Россия, Киев Одесса при выборе Украина).

Скрипт отказывается работать, открыл консоль js - там непонятная и неизвестная мне ошибка в файле jquery (файл который вы подключайте для работы самого jquery). Никак не могу исправить..

Надеюсь на помощь вот код
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Формат JSON</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="jquery-1.9.0.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			$("<select[name='country']></select>").bind("change", function() {
				$.get("script_3.php", {country: $("<select[name='country']></select>").val()}, function (data) {
					data = JSON.parse(data);
					$("select[name='city']").empty();
					for (var id in data)
						$("<select[name='city']></select>").append($("<option value='" + id + "'>" + data[id] + "</option>"));
				});
			});
		});
	</script>
</head>
<body>
	<label>Страна:</label>
	<select name="country">
		<option value="0" selected="selected"></option>
		<option value="1">Россия</option>
		<option value="2">Украина</option>
	</select>
	<br />
	<label>Город:</label>
	<select name="city">
		<option value="0"></option>
	</select>
</body>
</html>


А вот код php
<?php
	if ($_GET["country"] == 1) echo json.encode(array("1" => "Москва", "2" => "Питер"));
	elseif ($_GET["country"] == 2) echo json.encode(array("3" => "Киев", "4" => "Одесса"))
?>
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2016, 20:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Хан,
попробуйте убрать строку 11
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2016, 20:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Сообщение от Хан
$("<select[name='country']></select>").
почему не
$("[name='country']").on("change", function() {
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2016, 21:03
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

Все попробовал, не получилось..
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2016, 21:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Сообщение от Хан
Все попробовал,
покажите код
Ответить с цитированием
  #6 (permalink)  
Старый 27.07.2016, 21:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Хан,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
$("[name='country']").on("change", function() {
        $.get("script_3.php", {country: this.value}, function (data) {
          $("select[name='city']").empty();
          for (var id in data)
            $("select[name='city']").append($("<option value='" + id + "'>" + data[id] + "</option>"));
        });
      });

});
  </script>
</head>

<body>
<label>Страна:</label>
  <select name="country">
    <option value="0" selected="selected"></option>
    <option value="1">Россия</option>
    <option value="2">Украина</option>
  </select>
  <br />
  <label>Город:</label>
  <select name="city">
    <option value="0"></option>
  </select>


</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 27.07.2016, 22:02
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Формат JSON</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
	<script type="text/javascript">
		$(function() {
$("[name='country']").on("change", function() {
        $.get("script_3.php", {country: this.value}, function (data) {
          $("select[name='city']").empty();
          for (var id in data)
            $("select[name='city']").append($("<option value='" + id + "'>" + data[id] + "</option>"));
        });
      });

});
	</script>
</head>
<body>
	<label>Страна:</label>
	<select name="country">
		<option value="0" selected="selected"></option>
		<option value="1">Россия</option>
		<option value="2">Украина</option>
	</select>
	<br />
	<label>Город:</label>
	<select name="city">
		<option value="0"></option>
	</select>
</body>
</html>

Вместо городов выводить символы с клавиатуры..
Ответить с цитированием
  #8 (permalink)  
Старый 27.07.2016, 22:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Сообщение от Хан
Вместо городов выводить символы с клавиатуры..
Сообщение от Хан
А вот код php
к специалисту по php
Ответить с цитированием
  #9 (permalink)  
Старый 28.07.2016, 01:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

... echo json_encode(...
Ответить с цитированием
  #10 (permalink)  
Старый 28.07.2016, 10:39
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

Сообщение от laimas Посмотреть сообщение
... echo json_encode(...
А вот здесь пожалуйста подробнее, не догоняю..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значений нескольких параметров из js в php TomTykver AJAX и COMET 2 13.05.2015 22:19
Senior JS (node.js + mongodb + angular.js) + PHP (Одесса) greebn9k Работа 0 21.04.2015 01:20
Передача данных с js в php juramaj AJAX и COMET 2 11.03.2015 12:42
Получить массив из php d js freelancerphpcss jQuery 3 02.07.2013 15:29
PHP и JS жонглирование данными McLotos Общие вопросы Javascript 5 14.04.2011 16:16