我如何更改[]与response.data对象之间的字符串,如下所示:
var template = "<%= escape_javascript(eval(UserSetting.find_by_user_id_and_setting_name(User.current_user_id, 'own_user_grid_'+ grid_id).value)) %>"
模板输出如下:
<body><p>DocType: [document_summarize_doctype]</p><b>Author ID: [document_author]</b></body>
当我在[document_summarize_doctype]
之间使用this.document_summarize_doctype:
$j.each(response.data, function() { $j('.own_content_overall').append('<div class="own_content">' + template + '<br><span style="border: 1px solid lightblue;"></div>');
});
有什么帮助吗?
谢谢
答案 0 :(得分:0)
假设str
为<body><p>DocType: [document_summarize_doctype]</p><b>Author ID: [document_author]</b></body>
:
str = str.replace(/\[(.*?)\]/, "[this.document_summarize_doctype]");
答案 1 :(得分:0)
使用此功能,我是在一段时间前在SO上找到的,它不是我的,但是可以完成工作:
var substitute = function(str , sub ) {
return str.replace(/\[(.+?)\]/g, function($0, $1) {
return $1 in sub ? sub[$1] : $0;
});
};
console.log(substitute('your are a [type_of_person]',{ type_of_person : 'good boiii'}))
// output : your are a good boiii
您的代码将如下所示:(如果括号中存在“ item”键,则将替换字符串)
$j.each(response.data, function(item) {
$j('.own_content_overall').append(substitute('<div class="own_content">' + template + '<br><span style="border: 1px solid lightblue;"></div>', item));
});