webew
Войти » Регистрация
 
JavaScript

как сделать попроще меню ?

28 августа 2008, 17:25
Автор: byik
Есть обычная менюшка ...


<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="69" valign="top"><form name="form1" method="post" action="goda.php">
<label></label>
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option value="goda.php?year=1933" selected>1933</option>
<option value="goda.php?year=1934">1934</option>
<option value="goda.php?year=1935">1935</option>
<option value="goda.php?year=1936">1936</option>

</select>
</form>
</td>
Соответственно обрабатываю в goda.php по
$id = intval($_GET['year']);

А годиков надо штук 70 !!!

Может есть способ как то ее попроще сделать ?
Или мне может в отдельном файле ее обрабатывать ?
Добавить комментарий
Отображение комментариев: Древовидное | Плоское

bur

Во первых, селект можно формировать javascript-ом, сократив объем кода, вот так, например:

<script type="text/javascript">
function drawSelect() {
     var select = "<select name=\"menu1\" onChange=\"MM_jumpMenu('parent',this,0)\">";
     for (var i = 1933; i <= 2008; i++) select += "<option value=\"goda.php?year="+i+"\" selected>"+i+"</option>";
     select += "<\/select>";
     return select;
}
document.write(drawSelect());
</script>


Здесь это уместно, т.к. для юзеров без js ваша навигация и так не работает, а объем кода существенно снижается.

А функцию MM_jumpMenu надо бы как-то так переписать:

function MM_jumpMenu(targ,selObj,restore){ //v3.0
     window[targ].location.href = selObj.value;
     if (restore) selObj.selectedIndex=0;
}
28.08.2008, 17:46
Ответить
NO USERPIC

byik

Bur , огромное спасибо ! Столько ручной работы убралось !!!
28.08.2008, 21:02
Ответить
NO USERPIC

byik

Ну вот , с выводом из БД все в порядке, менюшка работает.Столкнулся с другой проблемой, когда начинаю в админской части забивать все эти года для добавления текстов , в главном меню они выводятся как угодно , причем в базе все идут по порядку по id, все как положено , запутался с менюшками окончательно !!!! Может кому скинуть скрипт админки, кто нить поможет ???
29.08.2008, 11:32
Ответить

bur

byik, этот вопрос следовало задать в теме про MySQL.
Используйте в своем SELECT-запросе к базе сортировку с помошью ORDER BY, вот пример:

SELECT * FROM tablename ORDER BY name;
/* name - это поле, по которому следует сортировать выдачу */


Дальнейшие обсуждения такого рода просьба перенести в другую тему.
29.08.2008, 12:00
Ответить
NO USERPIC

byik

да с базой я разобрался, и с mysql, вроде все работает, спасибо. дело как я понимаю не в базе, а в коде... я для ввода текстов использую Tiny_mce а это как я понимаю аякс
29.08.2008, 12:21
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100