使用jQuery更新textarea值

时间:2016-08-22 12:22:37

标签: jquery bootstrap-wysihtml5

我在我的表单中使用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获取产品详细信息,并希望使用说明更新textarea

  <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>

但是,当$('#product_code').val(data['product_code']);工作正常时,此代码不会更新textarea字段的值。

我尝试按alert($('#description').val());打印textarea的值,它正在工作并在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 个答案:

答案 0 :(得分:0)

我找到了这个解决方案,我希望它会有所帮助。

$('iframe').contents().find('.wysihtml5-editor').html('your new content here');