错误:当附加到 <select> 元素 woocommerce 时,Select2 不允许使用选项“ajax”
Posted
技术标签:
【中文标题】错误:当附加到 <select> 元素 woocommerce 时,Select2 不允许使用选项“ajax”【英文标题】:Error: Option 'ajax' is not allowed for Select2 when attached to a <select> element woocommerce 【发布时间】:2017-10-07 12:18:12 【问题描述】:任何机构帮助我在这个错误上浪费了太多时间,但没有运气
错误:当 Select2 附加到 元素。
在将 woocommerce 更新到 3.0.3 后,我的开发人员控制台中显示此错误此错误破坏了一些功能,例如无法添加加售和交叉文本框注意。
当我改变我的主题时,它就会消失,我无法改变我的主题。
请帮忙。
【问题讨论】:
见github.com/select2/select2/issues/679 从阅读中我认为您需要更新版本的 select 2 我不知道在哪里更改和更新这是我的主题和 woocommerce 冲突。 面临同样的问题。全新安装工作正常。 【参考方案1】:我在我的 wordpress 网站上遇到了同样的错误,我已经修复了。
第一个我想描述这个错误的来源。 从 WC Beta 2 开始,他们已经迁移到 Select2 V4。 Select2 V4 主要与 Select2 V3 兼容,但有一些例外,主要是 AJAX 搜索输入的工作方式。 WooCommerce 有两个受影响的实例,需要对 html 标记进行一些更改才能正常工作。 例如
<input type="hidden" id="grant_access_id" name="grant_access_id" data-multiple="true" class="wc-product-search" style="width: 400px;" data-placeholder="<?php esc_attr_e( 'Search for a downloadable product…', 'woocommerce' ); ?>" data-action="woocommerce_json_search_downloadable_products_and_variations" />
改成
<select id="grant_access_id" class="wc-product-search" name="grant_access_id[]" multiple="multiple" style="width: 400px;" data-placeholder="<?php esc_attr_e( 'Search for a downloadable product…', 'woocommerce' ); ?>" data-action="woocommerce_json_search_downloadable_products_and_variations"></select>
在 wordpress 中,我看到 select2 获得了控制权,我尝试在我的 functions.php 中禁用 select2 加载。你可以在下面看到我的脚本
add_action( 'admin_enqueue_scripts', 'remove_views_select2' );
function remove_views_select2($hook)
if ( ( $hook == 'post.php' || $hook == 'post-new.php' ) )
wp_deregister_script( 'select2' );
// wp_register_script( 'views-select2-script' , 'http://your-site.com/wp-content/plugins/meta-box/js/select2/select2.min.js', array('jquery'), 3.2);
所以在我的情况下效果很好。祝你好运 ! ?
【讨论】:
在我的情况下,我从https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.3/js/select2.js
更改为 https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.js
我不在 CMS 上工作,但在自定义网络应用程序上工作以上是关于错误:当附加到 <select> 元素 woocommerce 时,Select2 不允许使用选项“ajax”的主要内容,如果未能解决你的问题,请参考以下文章
使用 AJAX 和 PHP 将 <options> 附加到 <select>