2015-02-16 2 views
1

Как я могу выбрать, что вы выбрали с параметром url? Я нашел это: Dropdown selected based on URL parameter - PHP or jQuery?Раскрывающийся список выбран с параметром URL

Но это не работает для меня. Что я делаю не так? Мой URL будет:

kontakt.php?Betreff=3 

сценарий:

var val = location.href.match(/[?&]Betreff=(.*?)[$&]/)[1]; // get params from URL 
$('#Betreff').val(val); // assign URL param to select field 

и:

<select class="mailstyle" name="Betreff" id="Betreff"> 
    <option value="1">First</option> 
    <option value="2">Second</option> 
    <option value="3">Third</option> 
</select> 
+0

Вы имеете в виду, что не можете см. 'option' с' значением', равным '3', выбранным? – void

+0

Да, это всегда значение 1, которое выбрано! – user2961970

+0

Это регулярное выражение работает только в том случае, если у вас более 1 параметра, например 'http: // example.com/Betreff = 3 & Inhalt = something' – Spokey

ответ

3

Ваше регулярное выражение неверно. Вы можете использовать эту функцию (from this question), чтобы получить значение параметра:

function getURLParameter(name) { 
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null 
} 

Вы можете использовать, чтобы установить значение:

var val = getURLParameter('Betreff'); 
$('#Betreff').val(val); // assign URL param to select field 
+0

Perfect! Огромное спасибо!!!! Из-за этого я не спал сегодня! – user2961970

1

Попробуйте это:

var val = location.href.match(/[?&]Betreff=(.*?)(?:$|&)/)[1]; // get params from URL 
$('#Betreff').val(val); // assign URL param to select field 
0

Попробуйте это :

$('#Betreff option').each(function(){ 
    if($(this).val()==val){ 
     $(this).attr("selected","selected"); 
     break; 
    } 
}); 
+0

благодарит вас за ваши усилия! Но ответ Рори МакКросан был именно тем, что я искал! – user2961970

Смежные вопросы