<select> & JS
в ява, я постольку по скольку, поэтому у меня такой вопрос
мне нужно построить ссылку из 2х селектов и сделать переход по ней на указаную страницу; пробовал различные варианты выдает: ?menu=undefined&number=undefined сслыка вида ?menu=audi&number=r17 <div class="mod_jbt_model"> <p>Выберите модель</p> <select class="child" id="child" onchange="selChange(this.value)"> <option>Выбрать</option> <option value="audi">audi</option> <option value="bmw">bmw</option> <option value="pro4aya">pro4aya</option> <option value="huevert'">huevert'</option> </select> </div> <div class="mod_jbt_r"> <p>Выберите размер дисков:</p> <select id="subchild"> <option>Выбрать</option> <option value="r15">r15</option> <option value="r16">r16</option> <option value="r17">r17</option> <option value="r18">r18</option> <option value="r19">r19</option> <option value="r20">r20</option> <option value="r21">r21</option> <option value="r21">r22</option> </div> <br class="cls">
<script>
var model = document.getElementById('child').value;
var rad = document.getElementById.subchild.options[selectedIndex];
function selChange() {
var href = '?menu=' + model + '&number=' + rad
alert(href)
}
</script>
|
Так как у вас select по умолчанию имеет не определенное value, и так как скорее всего, вы запускате скрипт под IE значения переменный model и rad будут равняться undefined
Если вы тот же самый скрипт запустите, например в Chrome, то model и rad будут иметь значение "Выбрать" У вас model и rad принимают значения при рендеринге страницы, а не при выборе значения в select'е, поэтому объявление этих переменных нужно перенести в функцию selChange() |
если не сложно, покажи как это делается
|
Какая твоя цель? Написать этот скрипт и забыть про JavaScript?
Я бы посоветовал взять книжку или пользоваться поисковыми системами. Имхо, будет больше пользы, чем если кто-то тебе здесь напишет как надо. |
я попробовал вот так и наткнулся на то что ты как раз и сказал
<script>
var model = document.getElementById('child');
mod = model.options[model.selectedIndex].value;
var rad = document.getElementById.subchild.options[selectedIndex];
function selChange() {
var href = '?menu=' + mod + '&number=' + rad
alert(href)
}
</script>
|
я в ява толком никогда не лазил, у меня цель помочь товарищу, цмс адская все базы хранятся в txt(( я почти все сделал вот остался вопрос с формирование ссылки
|
хм, неужто на всем форуме никто не может сказать как это должно работать?
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function test() {
var menu=document.getElementById('child').value;
var number=document.getElementById('subchild').value;
if (menu=='') return;
if (number=='') return;
alert('?menu='+menu+'&number='+number);
};
</script>
</head>
<body>
<div class="mod_jbt_model">
<label for='child'>Выберите модель</label>
<select class="child" id="child" onchange='test();'>
<option value=''>Выбрать</option>
<option value="audi">audi</option>
<option value="bmw">bmw</option>
<option value="pro4aya">pro4aya</option>
<option value="huevert'">huevert'</option>
</select>
</div>
<div class="mod_jbt_r">
<label for='subchild'>Выберите размер дисков:</label>
<select id="subchild" onchange='test();'>
<option value=''>Выбрать</option>
<option value="r15">r15</option>
<option value="r16">r16</option>
<option value="r17">r17</option>
<option value="r18">r18</option>
<option value="r19">r19</option>
<option value="r20">r20</option>
<option value="r21">r21</option>
<option value="r21">r22</option>
</select>
</div>
</body>
</html>
Но я бы рекомендовал переход делать не на основании изменения селектов, а по кнопке... |
Цитата:
top.location=<нужный_URL>; |
отлично, спасибо.
|
| Часовой пояс GMT +3, время: 12:50. |