php - 下拉菜单的默认值 - WordPress 网站

标签 php jquery html wordpress

我正在开发一个具有新用户注册表单的 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() 旁边的文本到 valueoption你希望它默认为。

在您的情况下,是美国。所以你需要把它改成$("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/

相关文章:

PHP 类为什么要使用 public 关键字?

php - MySQL WHERE - "ignore"选项的通配符?

javascript - 使用 AJAX 和 FormData 在 POST 上绑定(bind)列表

javascript - IE9 中选择输入的 change() 事件

javascript - 无法使用 JavaScript 从文本框中获取所选文本?在 Firefox 中有效,但在 IE 中无效?

php - 从 php 文件到 phpmyadmin 的数据库连接失败?

php - 从具有动态表头的文件导入 csv

javascript - 使用 jQuery,当单击最近的单选按钮时尝试检索图像 src 值

css - 320 及更高版本在 ie7+8 标准模式下恢复为 320?

html - 为什么我的页面左侧 Logo 下方有多余的空白区域?