从 Jquery Ajax 调用中设置 CodeMirror 文本区域的值

Posted

技术标签:

【中文标题】从 Jquery Ajax 调用中设置 CodeMirror 文本区域的值【英文标题】:Set Value of CodeMirror textarea from Jquery Ajax Call 【发布时间】:2013-07-06 02:39:02 【问题描述】:

我试图从 Jquery 中的 Ajax 调用中获取一个值,以获取正在使用 CodeMirror 脚本的 Textarea 的 value 属性。 我尝试了将 textarea 的 .html() 和 .val() 属性设置为我的 Ajax 调用数据、参数的经典方法。

这是我的代码:

<!--Replaces TextBoxes by the code oriented boxes-->
<script type="text/javascript">
  var editor = CodeMirror.fromTextArea(document.getElementById('code'),
    mode: 'shell',
    lineNumbers: true,
    theme: 'blackboard'
  );
</script>
<!--Jquery Scripts for the Selects and file Edit-->
<script type="text/javascript">
  $(document).ready(function() 
    var directory = $("#directory").val();
    $.ajax(
      type: "POST",
      dataType: "text",
      url: "list_directory.php",
      data: "directory="+directory,
      cache: false,
      success: function(data)
        $("#files").html(data)
      ,
      error: function(msg)
        $("#starterror").show()
      
    );  
  );
  $("#directory").change(function()
    var directory = $("#directory").val();
    //$("#aux_directory").val(file);
    //alert(file);
    $.ajax(
      type: "POST",
      dataType: "text",
      url: "list_directory.php",
      data: "directory="+directory,
      cache: false,
      success: function(data)
        $("#files").html(data)
      ,
      error: function(msg)
        $("#starterror").show()
      
    );
  )
  $(".edit_item").live('click',function()
    var directory = $("#directory").val();
    var file = $(this).text();
    $.ajax(
      type: "POST",
      dataType: "text",
      url:"edit_file.php",
      data:  directory: directory, file: file,
      //data: "directory="+directory && "file="+file,
      cache: false,
      success: function(data)
        //alert(data);
        //var file_result = data;
        $("#code2").setValue(data);
      ,
      error: function(msg)
        $("#error_loading_file").show()
      
    );
 )

我的想法不多了!

【问题讨论】:

尝试使用editor.setValue() 谢谢aljordan82,现在好了! 【参考方案1】:

使用editor.setValue()

见CodeMirror manual()

jsfiddle example

【讨论】:

你有示例用法吗?

以上是关于从 Jquery Ajax 调用中设置 CodeMirror 文本区域的值的主要内容,如果未能解决你的问题,请参考以下文章

从图像响应中设置 jQuery ajax 成功中的 div 背景

带有域字段的 CORS cookie 仅在使用 jQuery AJAX 的 Firefox 中设置

如何调试 jquery AJAX 调用?

jQuery 和 ajax 在 PHP 中设置会话变量

从对象 php 的 jquery 数组中设置值?

为啥 Chrome 和 Firefox 以不同方式处理 jQuery ajax() 回调中设置的 javascript 变量?