|
|
|
| Помогите пожалуйста, как из формы в которой селект, список, что бы при выборе конкретного элемента передать это данное в ajax и как его принять что бы с ним что то сделать потом ? | |
|
|
|
|
|
|
|
для: mabelrod
(09.10.2011 в 19:44)
| | Ммм... пока не очень понятно, что хотите сделать?
1) Достаточно ли будет приложения, которое без перезагрузки страницы выводит выбранное select-значение?
2) Допустимо ли использовать jQuery? | |
|
|
|
|
|
|
|
для: cheops
(09.10.2011 в 19:46)
| | 2 - да допустимо, даже предпочитетльнее.
1 - раскажу поподробнее: есть список городов, надо например при выборе москвы - сразу без перезагрузки страницы вывести данные об этом городе ниже. | |
|
|
|
|
|
|
|
для: 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;
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.10.2011 в 20:04)
| | если ммне надо на эту же страницу ( хочу вссе сделать в 1 файле ) то что надо написать в этой строке : var url = 'ajax.php?'; | |
|
|
|
|
|
|
|
для: mabelrod
(09.10.2011 в 20:35)
| | Название этого же файла index.php... только вам нужно будет передать GET-параметр, который будет "переключать" файл из режима вывода HTML-формы в режим обработчика. | |
|
|
|
|
|
|
|
для: mabelrod
(09.10.2011 в 20:35)
| | вам по сути нужен выпадающий список, тут на форуме таких тем полно, вот еще сайт, на этом примере я список три уровня сделал
http://xhtml.ru/2006/02/11/dynamic-select/ | |
|
|
|