Как выделить (выделить) текст в текстовом поле ввода - PullRequest
2 голосов
/ 31 января 2012

Привет, я использую haml и coffescript для написания своего кода.

Фрагменты кода следующие:

//haml code for input box and value
%input.detail_text{value: "<%= 'http://dailymus.es/#!/' + answer.user.nickname + '/muses/' + answer._id %>"}

Отображение ввода текста (в модальном режиме)

enter image description here

Как я могу изменить мой текущий код coffescript, чтобы при рендеринге моего модального вида текст в поле выделялся, как показано выше.

Я пытался использовать следующий кодбезрезультатно

//code to render the modal view
render: ->
    $(@el).html @template(@model.toJSON())
    //this is where I attempt to select the input box via jQuery and selecting the text
    $(@el).find('input.detail_text').focus().select()
    @

Заранее спасибо

1 Ответ

4 голосов
/ 31 января 2012

Вот более продвинутая функция для выбора диапазона:

$.fn.selectRange = function(start, end) {
    return this.each(function() {
        if (this.nodeName === "INPUT"){
            var inputStart = Math.min(start || 0, this.value.length);
            var inputEnd = Math.min(
                               Math.max(end || this.value.length, inputStart),
                               this.value.length);
            if (this.setSelectionRange) {
                this.focus();
                this.setSelectionRange(inputStart , inputEnd);
            } else if (this.createTextRange) {
                var range = this.createTextRange();
                range.collapse(true);
                range.moveEnd('character', inputEnd);
                range.moveStart('character', inputStart);
                range.select();
            }
        }
    });
};

Кредиты: http://programanddesign.com/js/jquery-select-text-range/

...