JavaScript / jQuery - заменить текст во входном тексте - PullRequest
1 голос
/ 14 февраля 2012

Допустим, у нас есть поле ввода: <input type="text" id="id0"/>.Я хотел бы динамически заменить текущий выделенный текст моим текстом.Каков наилучший способ добиться этого с помощью jQuery или javascript?

Обновление:

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

С уважением, Рафал

Ответы [ 5 ]

1 голос
/ 14 февраля 2012

Большинство браузеров поддерживают свойства selectionStart и selectionEnd для ввода текста и текстовых полей.Тем не менее, IE <9 не делает.Для этого вы можете использовать мой плагин <a href="http://code.google.com/p/rangyinputs" rel="nofollow"> Rangy для ввода , который нормализует беспорядок поддержки IE <9 и предоставляет удобные методы для работы с выборками в текстовых вводах и текстовых областях.Используя его, код будет выглядеть так: </p>

$("#id0").replaceSelectedText("SOME NEW TEXT");

Если текстовое поле не имеет фокуса, вам нужно сначала сфокусировать его:

$("#id0").focus();
0 голосов
/ 14 февраля 2012

Если вы хотите очистить его, когда вы печатаете, и возвращаете его текст, уходя, используйте это

$('#id0').focus(function() { $(this).val(''); });

$('#id0').blur(function() {$(this).val('  Your text    '); });  
0 голосов
/ 14 февраля 2012

Я не уверен, поможет ли это вам, но, возможно, так:

  var myMessage="My Text";
  $('#id0').val(myMessage);
0 голосов
/ 14 февраля 2012

jQuery ("input # id0"). Attr ("value", "my text");

0 голосов
/ 14 февраля 2012
$('#id0').val('somenewtexthere');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...