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

标签 jquery jquery-plugins jeditable

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

例如,如果我有一个元素 <span class="editable">Jack & Jill</span> ,当我点击它时,我得到 Jack &amp; 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

关于jquery - jEditable 将输入中的 HTML 转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7868203/

相关文章:

jquery - 使用 $.get 值作为 JSON 对象会返回 HierarchyRequestError : DOM Exception 3

javascript - 当焦点丢失时有可编辑的保存吗?

jquery - 带有jQuery的YouTube currentTime

javascript - div被添加重复

jquery - Jquery 的好通知插件吗?

javascript - 如何使用 Javascript 将 Google map 转换为 PDF?

javascript - 通过 jquery 的表编辑器

callback - 来自 AJAX 回调的 Jeditable CANCEL 回调?

javascript - 为什么引导模式关闭事件 "stack"?

javascript - 将选择框的值传输到隐藏字段