jQuery:从动态模式显示静态文本

Posted

技术标签:

【中文标题】jQuery:从动态模式显示静态文本【英文标题】:jQuery: Display a static text from dynamic modal 【发布时间】: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 在浏览器完成加载后没有立即加载。或者它可能是别的什么?

【问题讨论】:

【参考方案1】:

这个案例是因为我的 Ninja Forms 条件逻辑。

我在表单加载时隐藏警报文本(html 代码标记),并在单击按钮时将其包装到另一个条件集,这是我的模态组件不显示文本的原因。

供参考:

条件逻辑并隐藏除介绍问卷之外的所有内容,包括警报文本。 修复:此处不应包含警报文本

单击时设置按钮是并显示警报文本 修复:我不应该有这种情况,让 CSS 隐藏警报文本。

【讨论】:

以上是关于jQuery:从动态模式显示静态文本的主要内容,如果未能解决你的问题,请参考以下文章

jquery datepicker不能动态创建html

jQuery动态加载select下拉列表

android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView

android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView

使用 Jquery 在动态事件中获取文本 [重复]

MFC 动态文本控件?