|
|
|
| Есть форма для редактирования объявлений, в которой редактируются уже опубликованные объявления:
<table border="4" cellpadding="10" cellspacing="0" bgcolor="#DDDDDD" class="tabl_reg">
<form name="redaktor" action="my_obyavl.php" method="POST">
<tr>
<td align="left" valign="middle"><span class="text_c">Выберите рубрику:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="rubr" size="1" class="pole" id="tip"><option><?php echo @$myrow['rubr'] ?></option><option value="Автомобили">Автомобили</option><option value="Квартиры">Квартиры</option>
</select></td>
</tr>
<tr>
<td align="left" valign="middle"><span class="text_c">Раздел:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="razd" size="1" class="pole" id="tip"><option><?php echo @$myrow['razd'] ?></option><option value="Легковые">Легковые</option><option value="Грузовые">Грузовые</option><option value="Однокомнатные">Однокомнатные</option><option value="Двухкомнатные">Двухкомнатные</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle"><input name="proverka" type="submit" class="knopka" id="proverka" title="Сохранить изменения" value="Сохранить изменения"></td>
</tr></form>
</table>
|
Помогите пожалуйста составить JAVA или PHP скрипт таким образом, чтобы при выборе элемента "Рубрика" выводился, только соответствующий рубрике, список с разделами.
Например: если в рубрике выбрали "Автомобили", то в списке разделов появлялось только: "Легковые" и "Грузовые"
Зараннее благодарен!!! | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 15:23)
| | Вам "в общем виде" надо задачу эту решить?
Или для этого конкретного случая - именно только для "Автомобилей" и "Квартир"?
В общем виде решается так - http://codecenter.awardspace.com/selects.html
Для частного случая (только для "Автомобилей" и "Квартир") вполне можно обойтись только яваскриптом. | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 16:08)
| | Ну на самом деле я просто привёл пример списков.
На самом деле 17 рубрик и около 200 разделов.
Мне хотелось бы использовать только JAVA обработчики форм, если можно?
Если можете приведите пожалуйста пример? Просто реально нет времени на изучение JAVA скрипта, но общие понятия по JAVA имею. | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 16:15)
| | Понимаете ли, компьютер САМ не сможет различить - какой из разделов относится к какой из рубрик.
Необходимо пометить разделы соответствующих рубрик.
Сможете ли Вы выдать в HTML-коде следующее (обратите внимание на выделенное жирным):
<tr>
<td align="left" valign="middle"><span class="text_c">Выберите рубрику:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="rubr" size="1" class="pole" id="tip"><option value="Автомобили">Автомобили</option><option value="Квартиры">Квартиры</option>
<option value="Слоны">Слоны</option>
</select></td>
</tr>
<tr>
<td align="left" valign="middle"><span class="text_c">Раздел:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="razd" size="1" class="pole" id="tip"><option label="Автомобили" value="Легковые">Легковые</option><option label="Автомобили" value="Грузовые">Грузовые</option><option label="Квартиры" value="Однокомнатные">Однокомнатные</option><option label="Квартиры" value="Двухкомнатные">Двухкомнатные</option>
<option label="Слоны" value="Африканские">Африканские</option><option label="Слоны" value="Индийские">Индийские</option>
</select>
</td>
</tr>
|
Если сможете - то тогда я дам Вам JScript, который во втором селекте будет показывать ТОЛЬКО разделы выбранной в первом селекте рубрики.
PS. И постарайтесь, пожалуйста, объяснить - из каких-таких соображений оба селекта имеют у Вас одинаковый id="tip"? | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 18:42)
| | "Сможете ли Вы выдать в HTML-коде следующее" - что то я не совсем понял суть вашего вопроса, задайте его, пожалуйста по другому.
id селектов разные, просто забыл исправить! | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 19:25)
| | КАЖДОМУ из опшенов второго селекта надо добавить атрибут label, в котором должна быть прописана рубрика этого раздела.
Слоны (африканские и индийские) даны мною в качестве примера следующей рубрики. | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 19:30)
| | И что это поможет?
Сейчас попробую.... Подождите пожалуйста!!!! | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 19:40)
| | >"И что это поможет?"
Поможет Вам только и исключительно Ваша ВНИМАТЕЛЬНОСТЬ.
Перечитайте ВЫШЕ - что именно я Вам написал.
Я спросил - "Сможете ли ВЫ...".
И далее написал - "Если сможете, то тогда дам JScript"
Так сможете?
Скрипт надо дать?:-)
----
Пошел смотреть футбол.
Рубин с Барселоной.
Скрипт (если он Вам нужен и Вы об этом здесь сообщите) напишу после футбола - после 22:40МСК | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 19:56)
| | Нет к сожалению я не знаю как это сделать. А вообще возможно это сделать при помощи <label>?
На сколько я знаю он служит для связи текста с флажками и радиокнопками.
Пожалуйста дайте скрипт, ну очень прошу....
Или подскажите как сделать с помощью <label>. | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 20:07)
| | Вы меня не поняли.
1. Человек, увидев слово "Однокомнатные", может понять, что речь идет о "квартирах", а не об "автомобилях" и не о "слонах".
А вот компьютер этого понять не в состоянии.
Потому что компьютер - железный и абстрактно мыслить он не умеет.
Это Вам понятно?
2. Для компьютера каким-то образом необходимо пометить разделы соответствующих рубрик.
Это Вам понятно?
3. Пометить разделы можно "тысячью и одним способом".
Я предложил Вам пометить разделы при помощи атрибута label.
И спросил Вас - сможете ли Вы это сделать? Т.е. сможете ли Вы "пометить"?
Спрашивал я потому, что не знал - имеете ли Вы доступ к HTML-коду своего файла.
Ситуации бывают разные. Посоветовал, например, я здесь товарищу вставить в HTML-код тег <SPAN>, а у товарища, оказывается, нет доступа к HTML-коду страницы.
Теперь понятно, что именно я имел в виду, спрашивая у Вас - сможете ли Вы пометить разделы?
4. Теперь, когда выяснилось, что пометить разделы Вы можете, даю Вам рабочий скрипт, который будет делать то, что Вам нужно:
<script>
function mF ()
{
var slc_1 = document.getElementById ('rubr'), slc_2 = document.getElementById ('razd');
if (!slc_1.selectedIndex) {slc_2.selectedIndex = 0; slc_2.disabled = 1; return}
if (!self.Gslc_2)
{
Gslc_2 = []; for (var j = 0, obj = slc_2.options, lj = obj.length; j < lj; j++)
{Gslc_2 [j] = []; Gslc_2 [j].label = obj [j].label; Gslc_2 [j].value = obj [j].value; Gslc_2 [j].text = obj [j].text}
var w = Math.max (slc_1.offsetWidth, slc_2.offsetWidth); slc_1.style.width = slc_2.style.width = w + 'px';
}
for (var rbr = slc_1.options [slc_1.selectedIndex].value, new_slc_2 = [], j = k = 1, lj = Gslc_2.length; j < lj; j++)
if (Gslc_2 [j].label == rbr) {new_slc_2 [k] = []; new_slc_2 [k].value = Gslc_2 [j].value; new_slc_2 [k++].text = Gslc_2 [j].text}
new_slc_2 [0] = Gslc_2 [0];
for (var j = slc_2.options.length - 1; j >= 0; j--) slc_2.options [j] = null;
for (var j = 0; j < new_slc_2.length; j++)
{
var opt = document.createElement ('option'); opt.value = new_slc_2 [j].value; opt.text = new_slc_2 [j].text;
slc_2.options.add (opt);
}
slc_2.disabled = 0;
}
</script>
<table border="4" cellpadding="10" cellspacing="0" bgcolor="#DDDDDD" class="tabl_reg">
<form name="redaktor" action="my_obyavl.php" method="POST">
<tr>
<td align="left" valign="middle"><span class="text_c">Выберите рубрику:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="rubr" size="1" class="pole" id="rubr" onchange="mF ()"><option><?php echo @$myrow['rubr'] ?></option><option value="Автомобили">Автомобили</option><option value="Квартиры">Квартиры</option><option value="Слоны">Слоны</option>
</select></td>
</tr>
<tr>
<td align="left" valign="middle"><span class="text_c">Раздел:<span class="text_e">*</span>:</span></td>
<td align="left" valign="middle"><select name="razd" size="1" class="pole" id="razd" disabled><option><?php echo @$myrow['razd'] ?></option><option label="Автомобили" value="Легковые">Легковые</option><option label="Автомобили" value="Грузовые">Грузовые</option><option label="Квартиры" value="Однокомнатные">Однокомнатные</option><option label="Квартиры" value="Двухкомнатные">Двухкомнатные</option><option label="Слоны" value="Африканские">Африканские</option><option label="Слоны" value="Индийские">Индийские</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle"><input name="proverka" type="submit" class="knopka" id="proverka" title="Сохранить изменения" value="Сохранить изменения"></td>
</tr></form>
</table>
|
PS. А футбол мне ни фига не понравился :-((
Рубин и сам не играл, и Барсе играть не дал. | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 23:44)
| | Спасибо огромное!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!
Буду пробовать...
Но вы иногда заглядывайте сюда, у меня ещё могут появиться вопросы. Очень приятно общаться с понимающими людьми, побольше бы таких!!! | |
|
|
|
|
|
|
|
для: АЯ
(29.09.2010 в 19:30)
| | Ура всё работает!!!
Ну вы меня правда выручили!!
Большое человеческое спасибо! | |
|
|
|
|
|
|
|
для: sega_z
(29.09.2010 в 19:47)
| | Добрый день
не хочу создавать новую тему с подобной проблемой, поэтому пишу сдесь
у меня есть подобная проблема, но в моем случае нужно 4 взаимозависимых списка, продолжая нему:
квартиры - однокомнатные - на 5-м этаже - с бронированой дверью
автомобили - легковые - малолитражные - красные
Skoda - Fabia - 1.4L - 30 000(пробег)
буду крайне благодарен если вы поможете исправить (дополнить) Ваш скрипт еще двумя уровнями. | |
|
|
|
|
|
|
|
для: Jerrodpy
(19.10.2010 в 18:26)
| | Четыре взаимосвязанных селекта на одной странице - это давно пройденный этап.
1...2...4...8...16...32...64...128...256...512...
|
Я сейчас работаю над реализацией седьмого компонента этого ряда.
Так что не мешайте.
-----
А если серьёзно, то даже два постоянно висящих на странице зависимых селекта - это уже бред.
Нахрена сразу иметь на странице второй селект, если им пользоваться сначала нельзя?
А Вы хотите целых четыре, три (два и один) из которых в какие-то моменты времени - исключительно для красоты?
Следующий селект должен появляться при выборе в предыдущем, как здесь - http://codecenter.awardspace.com/selects.html. | |
|
|
|