Как установить значение текстового поля с помощью привязки с помощью jQuery?

У меня есть текстовое поле, значение которого я хочу установить на основе внутреннего текста тега привязки. Другими словами, когда кто-то нажимает на этот якорь:

<a href = "javascript:void();" class = "clickable">Blah</a>

Я хочу, чтобы мое текстовое поле было заполнено текстом «Бла». Вот код, который я сейчас использую:

<script type = "text/javascript">
    $(document).ready(function(){
        $("a.clickable").click(function(event){
            $("input#textbox").val($(this).html());
        });  
    });
</script>

И в моем html есть список якорных тегов с классом «кликабельный» и одно текстовое поле с идентификатором «текстовое поле».

Я заменил приведенный выше код кодом, чтобы просто показать предупреждение javascript с помощью $ (this) .html (), и, похоже, оно показывает правильное значение. Я также изменил $ (this) .html (), чтобы он был жестко закодированной строкой, и он правильно устанавливает значение текстового поля. Но когда я их объединяю, текстовое поле просто очищается. Что я делаю не так?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
25
0
139 666
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Я написал этот фрагмент кода, и он отлично работает:

<a href = "#" class = "clickable">Blah</a>
<input id = "textbox">
<script type = "text/javascript">
    $(document).ready(function(){
        $("a.clickable").click(function(event){
            event.preventDefault();
            $("input#textbox").val($(this).html());
        });  
    });
</script>

Может быть, вы забыли присвоить ссылкам название класса «интерактивный»?

Спасибо за это. По вашему коду я смог определить, что пошло не так. Это была проблема с пробелами (у меня был фактический текст внутри тега привязки на отдельной строке).

Kevin Pang 17.11.2008 22:08

Просто обратите внимание, что префикс tagName в селекторе медленнее, чем просто использование идентификатора. В вашем случае jQuery получит все входные данные, а не просто использует getElementById. Просто используйте $ ('# textbox')

Этот ответ, вероятно, был бы лучше в качестве комментария к вопросу.

icktoofay 23.04.2010 00:58

Следуя за красным квадратом: вы не должны использовать в атрибуте href код javascript, например "javascript: void ();" - это неверно. Лучше использовать, например, href = "#", а затем в обработчике событий в качестве последней команды: "return false;". И что еще лучше - используйте в href правильную ссылку - если у пользователя отключен javascript, веб-браузер переходит по ссылке - в этом случае ваша веб-страница должна перезагрузиться с вводом, заполненным значением этой ссылки.

Чтобы назначить значение текстового поля с идентификатором «текстовое поле» в JQuery, выполните следующие действия.

$ ("# текстовое поле"). get (0) .value = "blah"

Я просто использовал этот синтаксис для решения той же проблемы, и, как ни странно, он сработал! Благодарность!

rixter 09.03.2012 02:01

Чтобы назначить значение текстового поля с идентификатором ёtextboxё в jQuery, выполните следующие действия.

$("#textbox").val('Blah');

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

icktoofay 23.04.2010 00:59

Другие вопросы по теме