Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2013, 10:39
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

<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>
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2013, 11:31
Интересующийся
Отправить личное сообщение для eugasl Посмотреть профиль Найти все сообщения от eugasl
 
Регистрация: 22.04.2013
Сообщений: 12

Так как у вас select по умолчанию имеет не определенное value, и так как скорее всего, вы запускате скрипт под IE значения переменный model и rad будут равняться undefined
Если вы тот же самый скрипт запустите, например в Chrome, то model и rad будут иметь значение "Выбрать"

У вас model и rad принимают значения при рендеринге страницы, а не при выборе значения в select'е, поэтому объявление этих переменных нужно перенести в функцию selChange()
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2013, 11:39
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

если не сложно, покажи как это делается
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2013, 11:42
Интересующийся
Отправить личное сообщение для eugasl Посмотреть профиль Найти все сообщения от eugasl
 
Регистрация: 22.04.2013
Сообщений: 12

Какая твоя цель? Написать этот скрипт и забыть про JavaScript?
Я бы посоветовал взять книжку или пользоваться поисковыми системами. Имхо, будет больше пользы, чем если кто-то тебе здесь напишет как надо.
Ответить с цитированием
  #5 (permalink)  
Старый 25.04.2013, 11:42
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

я попробовал вот так и наткнулся на то что ты как раз и сказал
<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>
Ответить с цитированием
  #6 (permalink)  
Старый 25.04.2013, 11:47
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

я в ява толком никогда не лазил, у меня цель помочь товарищу, цмс адская все базы хранятся в txt(( я почти все сделал вот остался вопрос с формирование ссылки

Последний раз редактировалось galograff, 25.04.2013 в 13:59.
Ответить с цитированием
  #7 (permalink)  
Старый 25.04.2013, 13:47
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

хм, неужто на всем форуме никто не может сказать как это должно работать?
Ответить с цитированием
  #8 (permalink)  
Старый 25.04.2013, 14:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от galograff
нужно построить ссылку из 2х селектов
Как вариант...

<!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>

Но я бы рекомендовал переход делать не на основании изменения селектов, а по кнопке...
Ответить с цитированием
  #9 (permalink)  
Старый 25.04.2013, 14:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от galograff
сделать переход по ней на указаную страницу
Как вариант...

top.location=<нужный_URL>;
Ответить с цитированием
  #10 (permalink)  
Старый 25.04.2013, 16:19
Новичок на форуме
Отправить личное сообщение для galograff Посмотреть профиль Найти все сообщения от galograff
 
Регистрация: 24.04.2013
Сообщений: 6

отлично, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS, <SELECT> заполнение bma2004 Общие вопросы Javascript 6 13.11.2016 13:48
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Элемент <select> и js в IE illya_v Internet Explorer 4 30.03.2011 10:36
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Можно ли сделать выбор имени запускаемого js скрипта из <select> super28 Общие вопросы Javascript 6 12.12.2009 22:22