我正在开发一个具有新用户注册表单的 WordPress 网站。我想将下拉国家/地区列表的默认值设置为美国。目前,下拉列表默认选择第一个选项。 html 元素看起来像这样(这不是整个元素,只是它的一部分):
<select name="wwlc_country" id="wwlc_country"><option value="AX">Åland Islands</option><option value="AF">Afghanistan</option><option value="AL">Albania</option><option value="US">United States (US)</option>
我正在使用一个名为“WooCommerce Wholesale Lead Capture”的插件,在他们的支持站点上,他们建议将以下代码添加到我的主题的 functions.php 文件中:
// Change the default country on WooCommerce Wholesale Lead Capture's registration
function wwsSetRegistrationDefaultCountry() {
if ( is_page( 'wholesale-registration-page' ) ) {
?>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('select#wwlc_country').val('AU');
jQuery('select#wwlc_country').trigger('change');
});
</script>
<?php
}
}
add_action( 'wp_footer', 'wwsSetRegistrationDefaultCountry', 99 );
我已经尝试在 is_page 函数中使用正确的页面添加它,但页面仍然默认为第一个值,无论我将哪个国家/地区设置为该值。当我查看页面源代码时,我看到该脚本正在页面上运行,如果我在控制台中运行它,该脚本就可以工作。知道为什么当我加载页面时它实际上不起作用吗?
更新:所以我想出了问题所在,以防将来有人遇到这个问题。我启用了一个名为“Autoptimize”的插件,其中一项设置阻止代码在网站上运行。我禁用了该插件,刷新后下拉菜单的默认值设置为美国。
最佳答案
您需要更改 jQuery('select#wwlc_country').val()
旁边的文本到 value
的 option
你希望它默认为。
在您的情况下,是美国。所以你需要把它改成$("select#wwlc_country").val("US").change();
.您还可以将这两个函数链接在一起(而不是每次都从一个新的 jQuery 对象中调用它们)。
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('select#wwlc_country').val('US').change();
});
</script>
关于php - 下拉菜单的默认值 - WordPress 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56469972/