背景信息:我需要将注册的参与者数量乘以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);