使用客户端脚本在Ajax HTML编辑器中的光标位置插入文本

使用客户端脚本在Ajax HTML编辑器中的光标位置插入文本,html,ajax,editor,cursor,position,Html,Ajax,Editor,Cursor,Position,我有一个Ajax HTML编辑器,上面有一个下拉列表。 在从下拉列表中选择项目时,我希望将下拉列表中所选项目的文本粘贴到AJAX HTML编辑器中的当前光标位置。 有什么想法吗?是的,在第三天结束的时候,我终于找到了解决问题的办法,把它贴在这里,这样有人就可以在那里节省重新发明轮子的宝贵时间 这是我的Ajax ATML编辑器: <Ajax:Editor ID="EdtrHTML" runat="server" /> 在我的例子中,我的Ajax编辑器在一个更新面板中,因此在部分回发后

我有一个Ajax HTML编辑器,上面有一个下拉列表。 在从下拉列表中选择项目时,我希望将下拉列表中所选项目的文本粘贴到AJAX HTML编辑器中的当前光标位置。
有什么想法吗?

是的,在第三天结束的时候,我终于找到了解决问题的办法,把它贴在这里,这样有人就可以在那里节省重新发明轮子的宝贵时间

这是我的Ajax ATML编辑器:

<Ajax:Editor ID="EdtrHTML" runat="server" />
在我的例子中,我的Ajax编辑器在一个更新面板中,因此在部分回发后,脚本停止工作,我找到了帮助


希望这对你也有用…干杯

请参阅@jaredhoyt hi,感谢您的回复,但在我的例子中,这是用于文本区域的Ajax HTML编辑器。我尝试了这段代码,给出了在呈现HTML编辑器时get最终创建的TextArea的id。然后它被困在“.focus()”函数中,出现了一个错误,错误是“.focus不受支持,因为控件被禁用或不可访问”对我来说根本不起作用。你能进一步解释一下它的工作原理吗?还有,它是在哪些浏览器上测试的?
 $(document).ready(function () {
            $('#<%:DropDownID.ClientID%>').change(function () {
            var ddltext = $('#<%:DropDownID.ClientID%> option:selected').text();
            var ddltext = ' [' + ddltext + '] '
            InsertAtCursor(idofHTMLEditorIFrame, ddltext);//Function for Insertion
        });
    });
 function InsertAtCursor(myField, myValue) {

        if (document.selection) {
            myField.focus();
            sel = document.selection.createRange();
            sel.text = myValue;
        }

        else if (myField.selectionStart == 0 || myField.selectionStart == '0') {
            var startPos = myField.selectionStart;
            var endPos = myField.selectionEnd;
            myField.value = myField.value.substring(0, startPos) + myValue +
                        myField.value.substring(endPos, myField.value.length);
        }
        else {
             myField.value += myValue;
        }
    }