Обновить значение textarea с помощью jQuery
Я использую Bootstrap WYSIHTML5 HTML-редактор в моей форме, как
<input type="text" name="product" id="product">
<textarea name="description" id="description" class="textarea" placeholder="Place some text here" style="width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;">
</textarea>
<input type="product_code" name="product_code" id="product_code">
и использование Ajax для получения сведений о продукте, когда продукт введен в поле ввода и требуется обновить текстовое поле с описанием
<script type="text/javascript">
$(document).ready(function($){
$('#product').autocomplete({
source:'<?php echo Router::url(array("controller" => "Products", "action" => "search")); ?>',
minLength: 1
});
$('#product').blur(function() {
var p_term = $(this).val();
if (p_term) {
var dataString = 'term='+ p_term;
//alert(dataString);
$.ajax({
dataType:'json',
type: "POST",
url: '/products/ajax-search-product',
data: dataString,
cache: false,
success: function(data) {
/* set values to input field */
$('#description').val(data['description']);
$('#product_code').val(data['product_code']);
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
});
});
</script>
Но этот код не обновляет значения поля textarea, пока $('#product_code').val(data['product_code']);
работает нормально.
Я пытался напечатать значение textarea alert($('#description').val());
и он работает и печатает предварительно заполненное значение в поле textarea.
Редактировать 2
Консольный вывод:console.log(data);
Object {
id: 1,
product_code: "765457",
SKU: "",
title: "yuphoria screen guard",
description: "yuphoria screen guard",
short_description: "yuphoria screen guard",
15 more…
}
Я пробовал с этим
$('#description').val(data['description']); // this not working
alert(data['description']); // this working
Здесь только один id="description"
и больше нигде не пользуется.
1 ответ
Я нашел это решение, надеюсь, оно поможет.
$('iframe').contents().find('.wysihtml5-editor').html('your new content here');