【问题标题】:How to replace some text in a text area when a link is clicked单击链接时如何替换文本区域中的某些文本
【发布时间】:2013-10-09 07:02:27
【问题描述】:

单击链接时,我正在尝试在文本区域中查找用户网站地址并将其替换为缩短的 url。我还没有走多远,但目前我可以用它来替换文本区域中的所有文本

<a href="javascript:;" class="short_url_link"><%= @user.short_url %></a>

$(function(){
  $(".short_url_link").click(function(){
  $( "#mention" ).val($(this).text());
 });
});

所以当用户点击短网址链接时,会找到文本区域中的网址(@user.website)并替换为短网址(@user.short_url

【问题讨论】:

    标签: javascript jquery ruby-on-rails replace


    【解决方案1】:

    做这样的事情怎么样:

    $(function(){
        $(".short_url_link").click(function(){
            var mention = $("#mention");
            var prevousText = mention.text();
            var shortURL = $(this).text();
                var regex = new RegExp(("<%= @user.website %>").replace(/\//g, "\\/").replace(/\./g, '\\.'), "i");
            mention.val(previousText.replace(regex, shortURL));
        });
    });
    

    【讨论】:

    • 看起来不错。虽然我收到以下错误(我在错误中添加了空格,以便它不会变成链接) ReferenceError: - www is not defined com/g, 短网址));
    • 我需要转义 url 正则表达式中的斜杠
    • 太棒了。谢谢!
    【解决方案2】:
    $(function(){
      $(".short_url_link").click(function(e){
       e.preventDefault();
      $( "#mention" ).val($(this).text());
     });
    });
    

    参考event.preventDefault

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2014-08-24
      相关资源
      最近更新 更多