【问题标题】:jQuery - prepending & appending html to a form fieldjQuery - 将 html 添加到表单字段中
【发布时间】: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


【解决方案1】:

只需将反引号添加到输入值。

代码(更新以删除引号,如果存在)link

$("a#sub").click(function() {
    var text = $("input").val();    
    $("div").html($("<blockquotes>").html(text));
});

$("a#rem").click(function() {
    var blockquotes = $("div blockquotes");
    var text = $(blockquotes).text(); //you have the text inside the blockquotes

    blockquotes.replaceWith(text); //this to replace or $(blockquotes).remove(); to remove it.

    //alert(html);
});

HTML

<input name="test">
<a id="sub">Submit</a>
<a id="rem">Remove</a>

<br/><br/>
<div></div>

​ ​

【讨论】:

  • 不,抱歉,这不起作用。也尝试保存记录,它仍然没有放置标签。我是否需要进行一些 AJAX 调用来刷新输入字段以使块引用实际出现?
  • 我非常关注您可以在此站点上做什么 - 在文本编辑器中,当您回答问题时,您可以单击一个按钮,它会在您的文本周围添加块引用。我正在寻找等效的 javascript。
  • 好的。然后只需执行此操作var text = $("input").val(); $("input").val("`"+text+"`"); 检查this
  • 这个例子很好用,谢谢。将尝试在这种情况下使其正常工作。有没有办法做相反的事情 - 即取消块引用标签?
  • @devnull69 - 是的,你的权利。误读了问题。检查更新的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
相关资源
最近更新 更多