基于 URL 参数,使用 jQuery 设置下拉选项
based on URL parameter, set dropdown option with jQuery
我发现了很多关于这个主题的类似问题,但 none 确实回答了我的情况,所以我决定 post 一个新问题:
我有一个页面有几个隐藏部分(不同语言的相同内容)。隐藏部分基于语言下拉菜单显示(我为此使用 jQuery 并且同一页面上只有 hides/displays 部分 - 页面 URL 保持不变)这是所有工作。但是,我需要找到一种方法让人们使用他们的语言 selected 访问页面,而不是默认语言英语。
我会使用其中之一:(example.com/page/#german) 或 (example.com/page/?german) 但它需要连接到现有的 jQuery 和 HTML 以便 URL 信息 select 是正确的语言。我该怎么做?
这是select或
语言的HTML
<select id="language_selector">
<option value="german">Deutsch</option>
<option value="english" selected >English</option>
<option value="spanish">Español</option>
<option value="french">Français</option>
</select>
这是我用来仅显示 selected 语言 HTML 内容(基于 ID)的 jQuery 代码:
hideAllDivs = function () {
$("#English").hide();
$("#French").hide();
$("#German").hide();
$("#Spanish").hide();
};
handleNewSelection = function () {
hideAllDivs();
switch ($(this).val()) {
case 'english':
$("#English").show();
break;
case 'french':
$("#French").show();
break;
case 'german':
$("#German").show();
break;
case 'spanish':
$("#Spanish").show();
}
};
我在想解决这个问题的方法是获取 URL 值,仅 select 参数,然后将其传递给 jQuery 到 select 正确的选项,但我不知道该怎么做,也不会破坏我现有的语言 select 或者(我仍然希望人们能够手动更改他们的语言)
// url : 'example.com/page?language=german';
let language = (new URLSearchParams(window.location.search)).get('language') ?? 'english';
$('#language_selector').val(language);
handleNewSelection();
我发现了很多关于这个主题的类似问题,但 none 确实回答了我的情况,所以我决定 post 一个新问题:
我有一个页面有几个隐藏部分(不同语言的相同内容)。隐藏部分基于语言下拉菜单显示(我为此使用 jQuery 并且同一页面上只有 hides/displays 部分 - 页面 URL 保持不变)这是所有工作。但是,我需要找到一种方法让人们使用他们的语言 selected 访问页面,而不是默认语言英语。
我会使用其中之一:(example.com/page/#german) 或 (example.com/page/?german) 但它需要连接到现有的 jQuery 和 HTML 以便 URL 信息 select 是正确的语言。我该怎么做?
这是select或
语言的HTML<select id="language_selector">
<option value="german">Deutsch</option>
<option value="english" selected >English</option>
<option value="spanish">Español</option>
<option value="french">Français</option>
</select>
这是我用来仅显示 selected 语言 HTML 内容(基于 ID)的 jQuery 代码:
hideAllDivs = function () {
$("#English").hide();
$("#French").hide();
$("#German").hide();
$("#Spanish").hide();
};
handleNewSelection = function () {
hideAllDivs();
switch ($(this).val()) {
case 'english':
$("#English").show();
break;
case 'french':
$("#French").show();
break;
case 'german':
$("#German").show();
break;
case 'spanish':
$("#Spanish").show();
}
};
我在想解决这个问题的方法是获取 URL 值,仅 select 参数,然后将其传递给 jQuery 到 select 正确的选项,但我不知道该怎么做,也不会破坏我现有的语言 select 或者(我仍然希望人们能够手动更改他们的语言)
// url : 'example.com/page?language=german';
let language = (new URLSearchParams(window.location.search)).get('language') ?? 'english';
$('#language_selector').val(language);
handleNewSelection();