尝试在jQuery中计算金额,然后将其插入HTML <p> 标签中



背景信息:我需要将注册的参与者数量乘以11。CMS内部标签将为我提取数据,我只需要自动插入我需要的最终值,而不必在每次新人注册时更改它。

HTML:

<table style="width: 100%; border: 1px solid #c94779;" border="0" align="center">
<tbody>
<tr>
<td style="background-color: #c94779; color: #ffffff; padding-left: 14px; padding-top: 8px; width: 100%; height: 28px; font-family: Rockwell; font-size: 1.357em; text-transform: uppercase;">Thank you!</td>
</tr>
<tr>
<td style="vertical-align: top; padding-left: 14px; padding-top: 3px;" valign="top">
<p><span class="subheading">The hard work of our Ambassadors is paying off</span></p>
<p><strong>Total Women Educated:</strong> <strong>[[C1:sponsor_2]]</strong></p>
<p id="womenreached">  </p>
<p><strong>Fundraising Total:</strong> <strong><convio:session name="42" param="0:dollars"></convio:session></strong></p>
<p><strong>Number of Ambassadors:</strong> <strong><convio:session name="42" param="0:num-participants"></convio:session></strong></p>
</td>
</tr>
</tbody>
</table>
JavaScript:

jQuery(document).ready(function() {
   var reached = '';
   var participants = '[[S42:15793:num-participants]]';
   var women =  'participants * 11';
   if (women) {
       reached = women;
      }
   else {
       reached = 0;
      }  
    jQuery('#womenreached p').html("Total Women Reached: " + reached);
});

我在var participants中使用的S42标签是CMS系统将提取数据的自定义标签。我注意到,当"达到的女性总数:"部分根本没有插入时,它根本不起作用。

我试图在jsfiddle中这样做,并用var participants = '600'替换了s42标签,它也不起作用。我试着阅读文件,但我不知道我做错了什么。

任何帮助都将非常感激!

谢谢

问题是引号。假设CMS值是数值,请删除participants值周围的引号以及您正在进行的计算周围的引号。

还请注意,您的if语句也是相当冗余的,因为当您将其设置为0时,在else情况下该值将已经是0

试试这个:

$(document).ready(function() {
   var participants = [[S42:15793:num-participants]]; // assuming this value comes from server
   var women = participants * 11;
   $('#womenreached').text("Total Women Reached: " + women);
});

工作的例子:

var participants = 600;
var women = participants * 11;
console.log("Total Women Reached: " + women);

最新更新