<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, время: 18:50. |