我在页面上使用多个 CodeMirror 区域,并在 js 中像这样定义它们:
function editor(id){
CodeMirror.fromTextArea(document.getElementById(id), {
lineNumbers: false,
styleActiveLine: true,
matchBrackets: true
});
}
后来我在我的文本区域上这样调用这个函数 -
$j = 0;
while($row = mysql_fetch_array($formulas))
{
echo "
<textarea id='code".$j."'>;some code</textarea>
--not important code--
<script>editor('code".$j."');</script>";
$j++;
}
后来,根据这个网站的一些解决方案,我刷新了我的 CodeMirrors 的一部分,因为将它们放置在像这样的隐藏 div 中
setTimeout(function() {
$('.my-hidden-div .CodeMirror').each(function(i, el){
el.CodeMirror.refresh();
});
现在我需要通过单击同一行中的按钮来获取 CodeMirrors block 的值并通过 AJAX 发送它们,但出现问题。
我怎样才能通过使用 $(this).closest('tr')
来获得它们的值(value)?
对我来说,不要将 CodeMirror 定义为变量很重要,因为我已经支持动态删除和添加新的 CodeMirrors 文本区域。但无论如何,如果我这样做了,我会收到一个错误,指出 js 无法识别我的变量,该变量是在其他 js 函数中定义的,并且不是全局的。帮助我,伙计们,祝你有美好的一天。问候。
最佳答案
与您已经用来调用 refresh
的功能相同,访问CodeMirror
DOM 节点上的属性,可用于调用 getValue
也是如此。
关于javascript - 如何在不定义变量的情况下获取CodeMirror值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27020571/