2014-10-27 2 views
-2

теперь у меня есть следующий код:Как получить значение из <option> и использовать

<form class="demo"> 
<select> 
    <option selected>Selecione sua cidade</option> 
    <option value='JP'>João Pessoa - PB</option> 
    <option value='outros'>Outros</option> 
</select> 
</form> 

Что мне нужно:

Когда посетитель нажмите на выпадающее меню и выберите опцию, они идут к http://www.example.com Каждый опция перейдет на другой адрес.

Value = 'JP' идет к example.com

Value = 'Outros' переходит в example2.com

Спасибо!

EDIT: Я использую этот

<script> 
$('.demo select').change(function(){ 
window.location.href="http://www.example.com"; 
}); 
</script> 
</head> 

Но до сих пор не работает, и как использовать, чтобы открыть различные ссылки:

Выберите опцию 1 = www.example1. com

Выбрать вариант 2 = www.example2.com

+0

Если вы используете 'jQuery', вы должны обернуть свои скрипты в' $ (документ) .ready'. –

+1

@jSang: * Если * код предшествует элементам на странице. В противном случае он будет работать в любом случае. –

+1

@jSang Не требуется, он выполняет код 'on change' –

ответ

1

Имеют URLs как значения в избранных, и вызовите функцию OnChange:

<form class="demo"> 
<select onchange="go(this.value);"> 
    <option selected>Selecione sua cidade</option> 
    <option value='http://someurl.com'>João Pessoa - PB</option> 
    <option value='http://another.com'>Outros</option> 
</select> 
</form> 

<script> 
function go(url){ 
    window.location.href=url; 
} 
</script> 
+0

@IslenoIturiel Отличный, рад, что я мог бы вам помочь – Steve

+0

Это достойный Javascript-ответ. Однако, если вы используете jQuery (в соответствии с оригиналом), избегайте использования событий, основанных на атрибутах, полностью как отдельный код регистрации и обработчика без необходимости. –

1

Вы можете использовать функцию Jquery Val(), чтобы проверить, какое значение было выбрано.

form: 

<form class="demo"> 
<select> 
    <option selected>Selecione sua cidade</option> 
    <option value='http://example.a'>João Pessoa - PB</option> 
    <option value='http://example.b'>Outros</option> 
</select> 
</form> 

<script> 
$(function(){ 
    $('.demo select').change(function(){ 
    window.location.href = $(this).val(); 
    } 
}); 
</script> 
+0

Да, это было бы, но это сложнее, чем просто ifs :) – Robert

+0

Я думал, что OP хочет сохранить эти значения по какой-то причине. Если нет, то, что вы предлагаете, наверняка лучший вариант. – Robert

+0

Для меня лучшим вариантом был steve answer, но я очень ценю ваше участие! Большое спасибо. –

2

почему бы вам не попробовать что-то вроде этого

<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"> 
<option selected>Selecione sua cidade</option> 
    <option value='www.example1.com'>João Pessoa - PB</option> 
    <option value='www.example2.com'>Outros</option> 
</select> 
+2

Вы должны использовать функцию вместо того, чтобы сбрасывать всю строку кода, которая будет утомительной, когда OP хочет изменить на нескольких страницах –

0

Пожалуйста, попробуйте что-то вроде этого:

<form class="demo"> 
<select id='drop'> 
    <option selected>Selecione sua cidade</option> 
    <option value='JP'>João Pessoa - PB</option> 
    <option value='outros'>Outros</option> 
</select> 
</form> 

<script> 
$("#drop").change(function() { 
    var res = this.value; 
    if(res=='JP') 
    { 
      document.location.href = "http://example.com"; 
    } 
    else if(res == 'outros') 
    { 
     document.location.href = "http://example2.com"; 
    } 
    }); 
</script> 
Смежные вопросы