我有以下内容: 文本区域和按钮,我想用预定义的文本填充它,同时使用 CodeMirror 进行语法突出显示:
$('#query1').button()
.click(function() {
$('#queryText').val(<?php echo $queryArray[0];?>);
}
然后:
<form id="queryFrom" name="queryBox"
action="processquery.php" method="get">
<textarea id="queryText"
name="queryText" cols="120" rows="30">
</textarea>
</form>
<button id="query1">Query1</button>
<script type="text/javascript" src="js/code/js/codemirror.js"></script>
<script type="text/javascript">
var editor = CodeMirror.fromTextArea('queryText', {
height: "150px",
parserfile: "parsesql.js",
path: "js/code/js/",
stylesheet: "js/code/css/sqlcolors.css",
textWrapping: true
});
</script>
不幸的是,如果启用了 CodeMirror,按钮中的文本不会填充该区域。有什么问题吗?
亲切的问候阿曼。
最佳答案
我用来创建 CodeMirror 文本区域的是:
CodeMirror.fromTextArea(document.getElementById('queryText'), {
// your settings here
});
注意 getElementById 而不是仅仅给出字段的名称/ID。
因此,我认为您还应该在 PHP 部分周围添加引号,因此:
val('<?php echo $data[0]; ?>')
您应该检查源代码 onclick 事件是否加载了正确的文本。如果它不起作用,请尝试在 onclick 中对 PHP 文件执行 getJSON() 代码,该代码返回一个包含数据作为唯一键的 json 编码数组(data[0].field 或类似的内容)。
关于jquery - textArea和CodeMirror : How to fill text area and highlight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554706/