2012-01-10 3 views
0

Допустим, например, у меня есть текстовое поле и кнопка переключения:Превратите каждую строку текстового поля в ссылку

<div class="input"> 
    <textarea id="links"> 
    http://facebook.com 
    http://friendster.com 
    http://google.com 
    http://facebook.com 
    http://friendster.com 
    </textarea> 
    <a href="#" class="toggle">Toggle</a> 
</div> 

Как я могу сделать это возможным для каждого канала в текстовом поле, чтобы интерактивный с щелчком Кнопка-переключатель?

$('.toggle').click(function(){ 
    var clickable = false; 
    if(!clickable){ 
    var links = $(this).closest('.input').find('textarea').val().split('\n'); 
    $.each(links,function(){ 
     //lost here 
    }); 
    } 
    return false; 
}); 

ответ

3

Вы не можете делать интерактивные ссылки внутри textarea, они предназначены для простого текст.

Возможны обходные пути, однако вы можете сделать div, скопировать форматированный контент textarea в этот div, когда щелкнуть «Toggle» и переключить textarea и div.

2

DEMO

Ваш each функция принимает индекс и значение параметров, которые вы можете использовать, чтобы сделать ваши якоря

$.each(links, function (i, val) { 
    var newA = $("<a />").text(val).attr("href", $.trim(val)); 

    $("#links").append(newA).append("<br>"); 
}); 

(Хотя очевидно, вы должны добавить их в DIV, а скрипка. Как говорит anrie, textareas может содержать только текст.)

+0

+1 - Похоже, href может использовать обрезку, хотя =) - http://jsfiddle.net/9Kcfv/ – mrtsherman

+0

@mrtsherman - согласен –

Смежные вопросы