2013-06-11 3 views
1

Я искал в этом, однако, ничего не работает для меня ...Изменить текстовое поле текста с помощью JQuery

У меня есть этот HTML:

<textarea rows="3" name="website" id="website" placeholder=""></textarea> 

Я хотел бы изменить это по щелчку с JQuery: (помещается в $ (документ) .ready)

$("#website").text(data.website); 

Но это не работает, я также пытался .val() бУ t он не работает, потому что <textarea> не имеет значения.

Я использую JQuery 1.9.1

+0

Что такое 'data.website'? –

+0

Вы получаете какие-либо ошибки firebug? – Andrew

+0

@pXL это ответ сервера JSON. И он работает в других местах, используя '.replaceWith()' – MacLover

ответ

0

Я отправляю это как решение, чтобы предотвратить путаницу для любой, кто читает этот вопрос. Приведенный выше код работает, однако проблема заключалась в том, что мой «data.website» не был jQuery.

Оба .val() и .text() работали.

+0

и проверенный ответ ...? – Carlos

+0

Проверен ответ? – MacLover

+0

Ответ, который вы выбрали в качестве своего ответа, я думаю, первый: D только для увеличения рейтинга: D – Carlos

5
$("textarea#ExampleMessage").val(result.exampleMessage); 
+0

Попросите скрипт, чтобы поддержать ваш ответ: http://jsfiddle.net/tymeJV/BcXGw/ +1 – tymeJV

+3

Нет ничего плохого в OP код. Использование '.text()' работает так же хорошо, как '.val()', поэтому вводить в заблуждение предложить другое (тем более, что OP заявил, что он пробовал оба). Очевидно, что проблема связана с передачей данных как «.text()», так и «.val()». –

7

JQuery-х .text(text) для замены текста в HTML-элемент. .val(text) заменит текст в элементе <input>. Предполагая, что data.website является действительным текстовая строка (который я предполагаю, что это из JQuery JSON), используйте:

$("#website").val(data.website); 

Fiddle: http://jsfiddle.net/hSL9h/

Если вы все еще возникают проблемы, используйте alert(data.website) или console.log(data.website), чтобы проверить, что data.website возвращает допустимую текстовую строку.

+0

Ahh, опубликовано, прежде чем я мог, здесь, есть скрипка: http://jsfiddle.net/tymeJV/BcXGw/ – tymeJV

+1

Их нет ничего плохого в '.text()' '->' http://jsfiddle.net/BcXGw/1/ –

+0

@pXL '.text()' работает, а также '.append()', но '.val()' обычно предпочтительнее для элементов формы. – Mooseman

1

Я думаю, что ошибка не вал, потому что если вы пытаетесь

$("#website").val("something here"); 

Он будет работать, как вы хотите, вероятно, вы должны проверить data.website для был уверен, что это значение здесь. Используйте инспектор с чем-то вроде

console.debug(data.website); 
$("#website").val(data.website); 

тогда вы будете уверены, что это значение, которое ваш даете вашей текстовой

http://jsfiddle.net/PPqVe/

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