2

我试图从 Jquery 中的 Ajax 调用中获取一个值,以获取正在使用的 Textarea 的 value 属性,CodeMirror 脚本。我尝试了将 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()
      }
    });
 })

我的想法不多了!

4

1 回答 1

3

采用editor.setValue()

请参阅CodeMirror 手册()

jsfiddle 示例

于 2013-07-14T20:18:43.640 回答