jEditable将输入中的HTML转换为文本

使用jQuery插件jEditable。 我遇到的问题是,在触发jEditable事件后,我想要任何可编辑的内容来显示文本而不是html。

例如,如果我有一个元素Jack & Jill ,当我点击它时,我会得到Jack & Jill Jack & Jill ,但我想要的是Jack & Jill作为我在输入中的价值,以便用户看不到HTML。

必须有一些我可以用数据设置做的事情[也许是value.replace(); 或者其他的东西]。 现在我只是让它返回值。

 $('.editable').each(function() { $(this).editable('url', { data: function(value, settings) { var retval = value; return retval; } }); }); 

当你使用php渲染页面时,看起来你正在使用htmlspecialchars()或类似的来翻译它的html实体等效&

因此,当您编辑它时,不需要从页面上的项目加载信息,而是需要将其从ajax调用加载到服务器(它将返回实际的html,而不通过htmlspecialchars()或其他任何内容运行它)。

Jeditable为您提供了一个很好的选择,所以请尝试以下方法:

 $('.editable').each(function() { $(this).editable('url', { loadurl : 'http://www.example.com/returnUntouchedhtml.php', data: function(value, settings) { var retval = value; return retval; } }); }); 

您可以在此页面上找到更多示例/信息: http : //www.appelsiini.net/projects/jeditable

可以试试这个:

  'data': function (value, config) { console.log(value); var v = $('

').html(value).text(); return v; },