当数据来自xml时,使用jQuery设置tinyMCE中的内容

当数据来自xml时,使用jQuery设置tinyMCE中的内容,jquery,xml,parsing,tinymce,Jquery,Xml,Parsing,Tinymce,我有一个下拉菜单,更改后,我需要在tinyMCE编辑器中设置内容,我需要弄清楚如何比较所选的下拉选项和xml标记,以便设置值 这是我到目前为止所拥有的 不确定是否有更好的方法来实现这一点。如果有帮助,您应该获得下拉框的值,如: value = $('#country option:selected').val(); 还有你的代码 var xml = '<xmlroot><nodes><id>US</id><desc>I am in

我有一个下拉菜单,更改后,我需要在tinyMCE编辑器中设置内容,我需要弄清楚如何比较所选的下拉选项和xml标记,以便设置值

这是我到目前为止所拥有的


不确定是否有更好的方法来实现这一点。

如果有帮助,您应该获得下拉框的值,如:

value = $('#country option:selected').val();
还有你的代码

var xml = '<xmlroot><nodes><id>US</id><desc>I am in the USA Description</desc></nodes><nodes><id>FR</id><desc>I am in the French Description</desc></nodes><nodes><id>ES</id><desc>I am in the Spain Description</desc></nodes></xmlroot>';


$(function() {
    tinyMCE.init({
        mode:'textareas'
    });

    $("#country").change(function() {
       loadText();
    });

    function loadText() {
        //In this example you fetch them from the var xml. Later on you can fetch them through a get() function.
        //$.get('file.xml',{}, function(xml) {
         var value = $("#country option:selected").val();
            $('nodes',xml).each(function() {
                //Get id of selected XML node
                id = $(this).find("id").text();
                //Get description of selected XML node
                desc = $(this).find("desc").text();
                if (value != "") {
                   if (id.toLowerCase() == value.toLowerCase()) {
                       tinyMCE.activeEditor.setContent(desc);
                   }
                }
            });

        //});
    }
});
请注意,您得到的是XML的
con
description
属性,而这些属性并不存在。您在变量中将它们定义为
id
desc

其次,您永远不会触发
$.get()
方法。因此,我将其放入
函数loadText(){…}
中,当国家/地区选择框更改时,我会触发该函数


请参见此处的功能示例:

I根本不工作。虽然firebug中没有报告任何错误,但我猜我们的逻辑不正确。很抱歉延迟了很多响应,我实际上也做了同样的事情,虽然我没有这个功能。问题是我使用的是tinyMCE.activeEditor(desc);相反,我应该使用tinyMCE.activateEditor.setContent(desc);我真的很感谢你的帮助,但是当我选择第一个下拉选项时,我该如何解决这个错误呢?下拉选项是:请选择:if(id.toLowerCase()==value.toLowerCase()){…相应地更新了我的答案。我不小心写了
var value=$(“#国家选项:not(:first):selected”).val()
var value = $('#country option:selected').val();
$.get('file.xml',{}, function(xml) {
  $('nodes',xml).each(function() {
     id = $(this).find("id").text();
     desc = $(this).find("desc").text();
     if (id.toLowerCase() == value.toLowerCase()) { 
        tinyMCE.activateEditor.setContent(desc);
     }
  });
});