我创建了一个使用sms message
从数据库获取ajax get call
的函数,成功后,我想将{order_id}
文本替换为454574
的order-id并可能其他一些变量,例如客户名称等。
我的尝试
$(document).delegate('.sms-template', 'click', function() {
var tempID = $(this).attr('id').replace('sms-template-','');
var oID = $(this).attr('data-id').replace('sms-template-','');
$.ajax({
url: 'index.php?route=sale/order/getSmsTemplate&token=<?php echo $token; ?>&template_id='+tempID,
type: 'get',
dataType: 'json',
success: function(json) {
$('textarea#input-order-comment-'+oID).append(json['message']);
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
它工作正常,并且在message
中将textarea
显示为
Dear {customer_name}, Your Order : {order_id} is successfully placed and ready to process.
我想用存储在php变量中的编号替换{customer_name}和{order_id}。
PS:我对RegEx并不了解。
答案 0 :(得分:1)
这里最简单的是replace()
string.replace("old value","new value")
例如
var the_id = "454574"; // or where you get that from
var new_message = json['message'].replace("{order_id}",the_id);
$('textarea#input-order-comment-'+oID).append(new_message);
根据评论和问题编辑进行更新
要替换其他信息,可以执行以下操作
var the_id = "Order id", the_name = "Customer name";
var new_message = json['message'].replace("{order_id}",the_id).replace("{customer_name}", the_name);
$('textarea#input-order-comment-'+oID).append(new_message);
如果有更多替代产品,则此帖子提供了一些巧妙的解决方案: