使用 URL 参数选择的下拉菜单
Dropdown selected with URL parameter
如何使用 url 参数选择下拉菜单?
我找到了这个:
Dropdown selected based on URL parameter - PHP or jQuery?
但这对我不起作用。我究竟做错了什么?
我的 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>
您的正则表达式不正确。您可以使用此函数(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
试试这个:
var val = location.href.match(/[?&]Betreff=(.*?)(?:$|&)/)[1]; // get params from URL
$('#Betreff').val(val); // assign URL param to select field
试试这个:
$('#Betreff option').each(function(){
if($(this).val()==val){
$(this).attr("selected","selected");
break;
}
});
如何使用 url 参数选择下拉菜单? 我找到了这个: Dropdown selected based on URL parameter - PHP or jQuery?
但这对我不起作用。我究竟做错了什么? 我的 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>
您的正则表达式不正确。您可以使用此函数(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
试试这个:
var val = location.href.match(/[?&]Betreff=(.*?)(?:$|&)/)[1]; // get params from URL
$('#Betreff').val(val); // assign URL param to select field
试试这个:
$('#Betreff option').each(function(){
if($(this).val()==val){
$(this).attr("selected","selected");
break;
}
});