0

@user.websiteテキスト領域 ( #mention) に含まれる Web サイトの URL ( ) をクリックすると、短縮された URLに置き換えようとしています。Web サイト ( ) が実際にテキスト領域に存在する場合にのみスワップを実行する@user.website必要があります。それ以外の場合は、短い URL をテキスト領域の末尾に追加する必要があります。

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

});

私が持っている機能はまったく正しくありません。Web サイトの URL がテキスト領域の中央にある場合、新しく追加された短い URL の後のすべてを削除します。また、Web サイトの URL が存在しない場合、正しいテキストを追加していません (以前の選択を追加しているようです)。どこが間違っていますか?

4

0 に答える 0