Необходимо вставить выделенный текст на странице в текстовое поле. Для этого должна быть какая-то кнопка.

2
Mike 2 Май 2009 в 21:03

2 ответа

Лучший ответ
jQuery(function() {
    // Bind the click handler of some button on your page
    jQuery('#someButton').click(function(evt) {
        // Insert the selected text into a given textarea
        var textarea = jQuery('textarea#someTextArea');
        textarea.val(textarea.val() + getSelectedText());
        evt.preventDefault();
    });
});

// Get user selection text on page
function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection();
    }
    else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}
11
Darin Dimitrov 2 Май 2009 в 21:33
Это работает, но если в текстовом поле уже есть текст, функция удаляет его вместе с выделенным текстом. Как я могу это исправить?
 – 
Mike
2 Май 2009 в 21:27
Я имею в виду, что он должен «добавлять» текстовую информацию в текстовое поле, а не «заменять».
 – 
Mike
2 Май 2009 в 21:29
> он должен добавить текст в текстовое поле без замены
 – 
Mike
2 Май 2009 в 21:33
Я соответствующим образом изменил свой пост
 – 
Darin Dimitrov
2 Май 2009 в 21:34
Можно ли вставить не простой текст, с каким-то тегом внутри? Например, мы выбираем слово «Darin», нажимаем кнопку «#someButton», и оно добавляет «Darin» в текстовое поле с тегом «[q]» - «[q] Darin [/ q]»?
 – 
Mike
2 Май 2009 в 21:36

Вы можете сделать что-то вроде этого:

  • Скопируйте выделенный текст, который вы можете использовать какой-то плагин jquery указан здесь.
  • Вставьте его в текстовое поле:

    $ ('# textareaselector'). текст (selectedText)

2
Community 23 Май 2017 в 15:26
Эта страница не работает - labratorium.0xab.cd/jquery/fieldselection /0.2.3-test/test.html
 – 
Mike
2 Май 2009 в 21:22