【发布时间】:2019-02-14 07:20:41
【问题描述】:
我正在使用带有 WP Ninja Forms 插件和 UIKit 模态组件的 jQuery 来创建和显示来自 Ninja Forms 调查问卷的动态警报。
我已经搜索了如何与 Ninja Forms 以及 jQuery 和 UIKit javascript 函数进行交互。代码如下:
var labelBtn = [
// Set 1
"#nf-label-class-field-36-0",
"#nf-label-class-field-81-1",
"#nf-label-class-field-70-1",
"#nf-label-class-field-96-1",
"#nf-label-class-field-91-1",
// Set 2
"#nf-label-class-field-101-0",
];
for ( var id in labelBtn ) {
var btn = labelBtn[id];
(function(nf) {
$(document).on( 'nfFormReady', function( e, layoutView ) {
$(document).on('click', nf, function( e, layoutView) {
var alertText = $('.alertText').find("aside").text();
console.log(alertText);
if ( $('.alertText').length > 0 ) {
$(".alertModal figcaption h2").text( alertText );
}
UIkit.modal('#AlertConsulation', { bgClose: false }).show();
});
}); // End of nfFormReady
}(btn));
} // End Label Button
基本上,我有 10 个不同的症状类别,每个症状类别都有多个问卷,每个问卷都有警报文本,当触发按钮时要显示。警报文本在 aside 标签内的 Ninja Forms 内是静态的,并且被拉出并显示到 .alertModal figcaption h2。
这是当浏览器加载 Set 2 并单击按钮是时。没有警报文本显示。
这里的问题是当我到达“Set 2”并单击一个按钮时,警报模式应该是打开的,并且在按钮触发后静态文本也应该就位。
注意:
在我的观察中,看起来nfFormReady 在浏览器完成加载后没有立即加载。或者它可能是别的什么?
【问题讨论】:
标签: jquery ninja-forms