2013-10-09 1 views
0

링크를 클릭하면 텍스트 영역에서 단축 URL로 사용자 웹 사이트 주소를 찾아 바꾸려고합니다. 나는 아주 멀리 없어하지만 짧은 URL을 사용자가 클릭 텍스트에 웹 사이트 주소 (@user.website)를 연결할 때 순간 나는링크를 클릭 할 때 텍스트 영역의 일부 텍스트를 바꾸는 방법

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

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

그래서 텍스트 영역의 모든 텍스트를 대체 할 얻을 수 있습니다 지역을 찾아 짧은 URL로 대체 (@user.short_url)

답변

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)); 
    }); 
}); 
+0

멋진데. 나는 다음과 같은 오류가 발생한다. (나는 링크로 바뀌지 않도록 공백을 추가했다.) ReferenceError : - www가 정의되지 않았다. mention.val (previousText.replace (/ http : // www.madeupurl .com/g, shortURL)); – grabury

+0

URL 정규식에서 슬래시를 벗어나야합니다 – grabury

+0

예, 답을 업데이트했습니다. – Krasimir

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

참조 event.preventDefault

관련 문제