Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php селект и вывод данных через ajax
 
 автор: mabelrod   (09.10.2011 в 19:44)   письмо автору
 
 

Помогите пожалуйста, как из формы в которой селект, список, что бы при выборе конкретного элемента передать это данное в ajax и как его принять что бы с ним что то сделать потом ?

  Ответить  
 
 автор: cheops   (09.10.2011 в 19:46)   письмо автору
 
   для: mabelrod   (09.10.2011 в 19:44)
 

Ммм... пока не очень понятно, что хотите сделать?
1) Достаточно ли будет приложения, которое без перезагрузки страницы выводит выбранное select-значение?
2) Допустимо ли использовать jQuery?

  Ответить  
 
 автор: mabelrod   (09.10.2011 в 19:50)   письмо автору
 
   для: cheops   (09.10.2011 в 19:46)
 

2 - да допустимо, даже предпочитетльнее.
1 - раскажу поподробнее: есть список городов, надо например при выборе москвы - сразу без перезагрузки страницы вывести данные об этом городе ниже.

  Ответить  
 
 автор: cheops   (09.10.2011 в 20:04)   письмо автору
 
   для: mabelrod   (09.10.2011 в 19:50)
 

Потребуется два файла (не считая, конечно, jQuery) - со списком (index.php) и с AJAX-обработчиком (ajax.php). Для удобства пусть оба файла будут в кодировке UTF-8. Список городов может выглядеть следующим образом
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $('#id_city').bind('change', function(event){
      var url = 'ajax.php?';
      url += 'id_city=' + $('#id_city').val();
      url = encodeURI(url);
      $('#id_info').load(url);
    });
  });
</script>
</head>
<body>
  <div><select id='id_city'>
    <option value='0'>Выберите город</option>
    <option value='1'>Москва</option>
    <option value='2'>Ст.Петербург</option>
    <option value='3'>Н.Новгород</option>
  </select></div>
  <div id='id_info'></div>
</body>
</html>
Мы навешиваем на select JS-обработчик события onchange, который берет значение списка и отправляет его при помощи AJAX-запроса файлу ajax.php, а ответ помещает в div-тэг с id='id_info'. Сам же ajax.php может содержать любой код, все что будет выведено при помощи echo отправится в ответ на AJAX-запрос
<?php
  
// Предотвращение SQL-инъекции
  
$_GET['id_city'] = intval($_GET['id_city']);
  
// Эмуляция запроса к базе данных
  
switch($_GET['id_city'])
  {
    case 
1:
      echo 
"Москва - ...";
      break;
    case 
2:
      echo 
"Ст.Петербург - ...";
      break;
    case 
3:
      echo 
"Н.Новгород - ...";
      break;
  }
?>

  Ответить  
 
 автор: mabelrod   (09.10.2011 в 20:35)   письмо автору
 
   для: cheops   (09.10.2011 в 20:04)
 

если ммне надо на эту же страницу ( хочу вссе сделать в 1 файле ) то что надо написать в этой строке : var url = 'ajax.php?';

  Ответить  
 
 автор: cheops   (09.10.2011 в 21:31)   письмо автору
 
   для: mabelrod   (09.10.2011 в 20:35)
 

Название этого же файла index.php... только вам нужно будет передать GET-параметр, который будет "переключать" файл из режима вывода HTML-формы в режим обработчика.

  Ответить  
 
 автор: bab-nike   (09.10.2011 в 22:40)   письмо автору
 
   для: mabelrod   (09.10.2011 в 20:35)
 

вам по сути нужен выпадающий список, тут на форуме таких тем полно, вот еще сайт, на этом примере я список три уровня сделал
http://xhtml.ru/2006/02/11/dynamic-select/

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования