我有一个包含以下html的页面,该页面多次显示不同的电话号码:
<div class="crm-content crm-contact_phone primary">
<span>5555551212</span>
</div>
电话号码本身使用{$ phone.i.phone}形式的smarty变量显示,其中i是电话号码数组中的数组键。
我希望能够使用js更改这些电话号码的格式。
因此,对于一个电话号码,我在我的智能.tpl文件中使用了以下内容:
{literal}
cj(function($){
var phoneNumber = {/literal}{$phone.1.phone}{literal};
var phoneNumberFormatted = '(' + phoneNumber.substr(0,3) + ') ' + phoneNumber.substr(3,3) + '-' + phoneNumber.substr(6);
$(".crm-contact_phone span").text(phoneNumberFormatted);
});
{/literal}
所以我想,我需要做一些事情:
$('.crm-contact_phone span').each(function(i, obj) {
var phoneNumber = '' + {/literal}{$phone.1.phone}{literal};
}
但我不知道如何用javascript索引i替换smarty变量中的1。
有什么想法吗?感谢。
答案 0 :(得分:0)
试试这个
$('.crm-contact_phone span').each(function(i, obj) {
var phoneNumber = '' + {/literal}{$phone[i].phone}{literal};
}
使用括号表示法并将其替换为 i 。
答案 1 :(得分:0)
我最后采用了不同的方法,使用以下方法将整个smarty数组保存到js数组中:
var phoneNumbers = {/literal}{$phone|@json_encode}{literal};
然后我可以使用纯粹的js来访问电话号码:
var phoneNumber = phoneNumbers[i]['phone'];