我正在尝试使用下面的方法动态更改代码镜像模式,但不幸的是它不起作用,欢迎您的帮助
我有一个选择菜单,例如:
<select name="idLanguage" id="select" onChange="selectMode()">
<option value="1">Python</option>
<option value="10">JavaScript</option>
<option value="33">Asterisk dialplan</option>
<option value="34">Clojure</option>
<option value="35">Common Lisp</option>
<option value="36">D</option>
<option value="37">ECL</option>
<option value="38">Go</option>
<option value="39">Haskell</option>
<option value="40">HTML</option>
<option value="41">Jinja2</option>
<option value="42">LiveScript</option>
<option value="43">mIRC</option>
</select>
然后我使用这个javascript方法:
var modeInput = document.getElementById("select");
function selectMode() {
var myindex = modeInput.selectedIndex;
var modefly = modeInput.options[myindex].text.toLowerCase();
alert(modefly); // This is giving me the exact mode on the screen
editor.setOption("mode", modefly);// no change in the mode
CodeMirror.autoLoadMode(editor, modefly);//no change in the mode
//editor.refresh();
}
虽然alert()
给出了正确的答案,但模式没有改变
任何想法 ?
谢谢
更新 :
我正在加载标头中的所有模式(python、javascriptassets
等js
)有效期更长
CodeMirror.modeURL = "../mode/%N/%N.js";
我应该如何解决?使用我现在拥有的文件夹配置,即使是惰性模式示例也无法正常工作