我正在开发一个超级市场wordpress网站的woocommerce插件。
我想要做的是检索客户的忠实代码,将其与他填写的其他信息进行比较,并在超市数据库中进行检查,如果他是否有权享受折扣的话。我的问题是,我不知道为什么,但我不能选择我创建的保真度代码字段,当我给它一个通常显示在页面上并且是唯一的id。
在php方面,一切正常工作:在结帐页面上,我添加了一个表单字段,如下所示:
woocommerce_form_field(
'fidelity_code’,
array(
'type' => 'text',
'label' => __('Fidelity code', 'my—plugin-woo'),
'class' => array('form-row', 'form-row-wide'),
'id' => 'fidelity_code',
'required' => false,
)现在在我的jQuery脚本文件中,当我做一些愚蠢的事情时,比如:
jQuery(document).ready(function ($) {
$("#fidelity_code").on("change", function () {
console.log("It's work"); //Does not work
});
});它不起作用。但是,如果我在本地woocommerce字段(例如,name字段)上这样做,它就能工作。
jQuery(document).ready(function ($) {
$("#billing_first_name").on("change", function () {
console.log("It's work"); //works!!!
});
});我认为如果它在本地字段上工作,那么问题不在于jQuery。所以请帮助我理解。
我试图更改jquery版本。我尝试使用不冲突的jQuery,我尝试用jQuery更改$ sign,然后用另一个变量名(如$j )来更改$sign,我尝试使用类而不是I,但是下面的代码没有将类'fidelity_code‘添加到字段中,而是添加到它的父字段中。我向你保证身份,它把它加到了战场上
woocommerce_form_field(
'fidelity_code’,
array(
'type' => 'text',
'label' => __('Fidelity code', 'my—plugin-woo'),
'class' => array('form-row', 'form-row-wide', 'fidelity_code'),
'id' => 'fidelity_code',
'required' => false,
)发布于 2022-11-14 04:49:58
我终于找到了解决办法,或者说找到了问题
我不知道为什么,但向woocommerce添加jquery事件的正确方法似乎是:
$(document).on(eventName, Selector, function () {
//Do your stuff here
});所以我的代码现在看起来是这样的:
$(document).on("change", "#fidelity_code", function () {
console.log("It works"); //It really works now
});https://stackoverflow.com/questions/74412923
复制相似问题