|
|
|
|
|
для: Sfinks
(20.12.2013 в 21:32)
| | Здравствуйте!
Это разговор слепого с глухим. Я не знаю javascript. И пока нет времени его подробно изучать.
В скриптах которые я привел нет ничего моего. Они на 100% из книги "PHP на примерах. 2-е издание"
которую softtime.ru рекламирует. Catalog.php - стр.379. Select.php - стр.380. И они не работают.
Я подумал, может быть в книге, которая у меня, опечатка, или я что то пропустил?
Поэтому, ещё раз прошу подсказать, что и где нужно изменить чтобы они заработали? | |
|
|
|
|
|
|
|
для: tourist
(20.12.2013 в 10:01)
| |
$("#id_snd").attr("disabled", "");
| думаю этого достаточно, чтоб он был все равно disabled.
Либо
$("#id_snd").removeAttr("disabled");
| либо
$("#id_snd").attr("disabled", false);
| попробуйте.
и используйте теги CODE при написании сообщения | |
|
|
|
|
|
|
|
для: Sfinks
(19.12.2013 в 08:31)
| | Здравствуйте!
В результате, скрипт catalog.php принял следующий вид:
<html><head>
<title>Двойной выпадающий список</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-2.0.3.min.js" ></script>
<script type="text/javascript">
$(document).ready(function() {
$("#id_fst").bind("change", function() {
// AJAX - запрос
$("#id_snd").load("select.php?id_catalog=" + $('#id_fst').val(), function(){
$("#id_snd").attr("disabled", "");
});
});
});
</script>
</head>
<body>
<?php
//Устанавливаем соединение с базой данных
require_once("config.php");
//Формируем выпадающий список корневых разделов
$query= "SELECT * FROM catalogs WHERE id_parent = 0 AND hide = 'show' ORDER BY pos";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка извлечения разделов - ".mysql_error());
if(mysql_num_rows($cat))
{
echo "<select id='id_fst'>";
echo "<option value='0'>Выберите раздел</option>";
while($catalog=mysql_fetch_array($cat))
{
echo "<option value='{$catalog[id_catalog]}'>".
"{$catalog[name]}</option>";
}
echo "</select>";
}
?>
<select id='id_snd' disabled='disabled'>
<option value='0'>Выберите подраздел</option>
</select>
</body>
</html>
Но это ничего не изменило. Он не работает. | |
|
|
|
|
|
|
|
для: tourist
(17.12.2013 в 14:44)
| |
$("#id_fst").bind("change", function() {
// AJAX - запрос
$("#id_snd").load("select.php?id_catalog=" + $('#id_fst').val(), function(){
$("#id_snd").attr("disabled", "");
});
});
|
| |
|
|
|
|
|
|
| Здравствуйте!
Подскажите, почему не работают скрипты? Не проявляется второй список.
Jquery работает, проверил.
catalog.php:
<html><head>
<title>Двойной выпадающий список</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-2.0.3.min.js" ></script>
<script type="text/javascript">
$(document).ready(function() {
$("#id_fst").bind("change", function() {
// AJAX - запрос
$("#id_snd").load("select.php?id_catalog=" + $('#id_fst').val(),
null,
$("#id_snd").attr("disabled", ""));
})
});
</script>
</head>
<body>
<?php
require_once("config.php");
//Формируем выпадающий список корневых разделов
$query= "SELECT * FROM catalogs WHERE id_parent = 0 AND hide = 'show' ORDER BY pos";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка извлечения разделов - ".mysql_error());
if(mysql_num_rows($cat))
{
echo "<select id='id_fst'>";
echo "<option value='0'>Выберите раздел</option>";
while($catalog=mysql_fetch_array($cat))
{
echo "<option value='{$catalog[id_catalog]}'>".
"{$catalog[name]}</option>";
}
echo "</select>";
}
?>
<select id='id_snd' disabled='disabled'>
<option value='0'>Выберите подраздел</option>
</select>
</body>
</html>
|
select.php:
<?php
require_once("config.php");
//Приводим значение GET - параметров к целому значению
$_GET['id_catalog'] = intval($_GET['id_catalog']);
//извлекаем подразделы
$query = "SELECT * FROM catalogs WHERE id_parent = {$_GET['id_catalog']} AND hide = 'show' ORDER BY pos";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка извлечения подразделов - ".mysql_error());
if(mysql_num_rows($cat))
{
echo "<option value='0'>Выберите подраздел</option>";
while($catalog=mysql_fetch_array($cat))
{
echo "<option value='{$catalog['id_catalog']}'>".
"{$catalog['name']}</option>";
}
}
?>
|
Таблица с данными такая:
CREATE TABLE `catalogs` (
`id_catalog` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
`pos` int(11) NOT NULL,
`hide` enum('show','hide') NOT NULL,
`id_parent` int(11) NOT NULL,
PRIMARY KEY (`id_catalog`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;
INSERT INTO `catalogs` (`id_catalog`, `name`, `pos`, `hide`, `id_parent`) VALUES
(1, 'Материнские платы', 1, 'show', 0),
(2, 'Жесткие диски', 2, 'show', 0),
(3, 'Видеокарты', 3, 'show', 0),
(4, 'Процессоры', 4, 'show', 0),
(5, 'ASUS', 1, 'show', 1),
(6, 'Biostar', 2, 'show', 1),
(7, 'Foxconn', 3, 'show', 1),
(8, 'GYGABYTE', 4, 'show', 1),
(9, 'INTEL', 5, 'show', 1),
(10, 'MCI', 6, 'show', 1),
(11, 'Supermicro', 7, 'show', 1),
(12, 'Hitachi', 1, 'show', 2),
(13, 'Sumsung', 2, 'show', 2),
(14, 'Seagate', 3, 'show', 2),
(15, 'Western digital', 4, 'show', 2),
(16, 'ASUS', 1, 'show', 3),
(17, 'GIGABYTE', 2, 'show', 3),
(18, 'MCI', 3, 'show', 3),
(19, 'Sapphire', 4, 'show', 3),
(20, 'AMD', 1, 'show', 4),
(21, 'Intel', 2, 'show', 4);
|
| |
|
|
| |
|