【发布时间】:2012-10-16 09:47:21
【问题描述】:
我在 Rails 中使用时间线,如果您在媒体字段中的内容周围放置块引用标签,它将在时间线上创建引用样式。我想要实现的是有一个复选框,这样如果它被选中,它会为你添加块引用标签,这样用户就不必写html了。
如何在提交之前在他们写的任何内容周围添加块引用标签,但前提是选中复选框?我正在尝试让 jQuery 将标签预先/附加到输入字段,以便用户可以看到它们,但我也无法让它工作。不过,我希望它能让用户永远看不到 html(以防他们不小心编辑它!),并且在将其发送到数据库之前简单地添加他们的输入。
这是我目前所拥有的:
$(document).ready(function(){
$("#blockCheck").bind('click', function(){
var input = $('#event_media input');
if ($(this).prop('checked')){
input.prepend('<blockquote>').append('</blockquote>');
}
});
});
复选框的 id 为“blockCheck”,输入字段的 id 为“event_media”。任何帮助将不胜感激,谢谢!
【问题讨论】:
-
这可能会有用:api.jquery.com/wrap
-
您不能将 html 元素附加/前置到输入字段的值。您可以使用
.val()来操作文本内容。 -
是的,这看起来像我所追求的——不过有几个问题:我是否需要通过 AJAX 重新加载任何内容,或者这是否会自动添加到 HTML 中而无需任何刷新/XHR 调用?此外,如果未选中复选框,是否有等效的“展开”,或者我需要进行某种 div 删除?谢谢。
-
等一下,对不起 - 这不是我要包装的整个输入,即不是
,而是尝试编辑用户输入的任何内容的实际内容,以便他们的输入被块引用标签包装。有什么想法吗?
标签: javascript jquery ruby-on-rails forms