Dojo div元素并选中MultiSelect

Dojo div元素并选中MultiSelect,dojo,Dojo,您好,请帮助我获取输出…我正在尝试在div元素中显示CheckedMultiSelect中的选定项..请帮助我查找错误 <html> <link rel="stylesheet" href="dijit/themes/claro/claro.css"> <style type="text/css"> @import "dojox/form/resources/CheckedMultiSelect.css"; </style> <scr

您好,请帮助我获取输出…我正在尝试在div元素中显示CheckedMultiSelect中的选定项..请帮助我查找错误

<html>
<link rel="stylesheet" href="dijit/themes/claro/claro.css">
<style type="text/css">
@import "dojox/form/resources/CheckedMultiSelect.css";
    </style>
<script>dojoConfig = {parseOnLoad: true}</script>
<script src="dojo/dojo.js"></script>
<script>
require(["dojox/form/CheckedMultiSelect"]);
 require(["dijit/registry"], function(registry){
   var a=registry.byId("multiselect"); 
   dom.byId("textNode2").innerHTML="Found my text box.  It has value: [" + a.get('value') + "] and its primary DOM node tag name is: [" + dNode.tagName + "]";
        });
</script>
<body class="claro">
<select multiple="true" data-dojo-type="dojox.form.CheckedMultiSelect" id="multiselect" name="multiselect" >
      <option value="TN">Tennessee</option>
      <option value="VA" selected="selected">Virginia</option>
      <option value="WA">Washington</option>
      <option value="FL">Florida</option>
      <option value="CA">California</option>
 </select>
 <div id="textNode2" style="background-color: lightgray"></div>
</body>
</html>

@导入“dojox/form/resources/CheckedMultiSelect.css”;
dojoConfig={parseOnLoad:true}
要求([“dojox/form/CheckedMultiSelect”]);
require([“dijit/registry”],函数(registry){
var a=registry.byId(“multiselect”);
dom.byId(“textNode2”).innerHTML=“找到我的文本框。它的值为:[“+a.get('value')+”],其主要dom节点标记名为:[“+dNode.tagName+”]”;
});
田纳西州
弗吉尼亚州
华盛顿
佛罗里达州
加利福尼亚

您提供的代码中的问题在于语句中的内容:

dom.byId("textNode2").innerHTML="Found my text box.  It has value: [" + a.get('value') + "] and its primary DOM node tag name is: [" + dNode.tagName + "]";
    });
您正在引用一个名为
dom
的变量,该变量未定义。此外,您还引用了一个名为
dNode
的变量,该变量未声明

由于脚本是在head部分运行的,所以在执行脚本时DOM可能还没有准备好

我对以下内容进行了编码,结果成功了:

<script>
require(["dijit/registry", "dojo/dom", "dojo/parser", "dojox/form/CheckedMultiSelect", "dojo/domReady!"], function(registry, dom, parser){
parser.parse();
var a=registry.byId("multiselect"); 
dom.byId("textNode2").innerHTML="Found my text box.  It has value: [" + a.get('value') + "]";
    });
</script>

require([“dijit/registry”、“dojo/dom”、“dojo/parser”、“dojox/form/CheckedMultiSelect”、“dojo/domReady!”)函数(注册表、dom、解析器){
parser.parse();
var a=registry.byId(“multiselect”);
dom.byId(“textNode2”).innerHTML=“找到了我的文本框。它的值:[“+a.get('value')+”]”;
});

您遇到的错误是什么?您使用的是什么版本的dojo?我使用的是1.9…我没有收到任何错误消息…一切正常,,,,但我没有将列表中选定的项目显示在div元素中。您提出的与此非常类似的上一个问题已得到回答。使用
.get('value')
dojo/on
。谢谢。它适用于单个项目。不适用于多个项目谢谢。它适用。如果假设我在运行时选中多个复选框。如何使所有选定项目显示在文本框中所有选定项目都应显示在文本框中,并用逗号(,)等分隔符分隔谢谢大家的帮助。。。。。你能帮我以编程的方式创建代码吗?我之前回复了你的帖子。我看到你打了个旗号,我的名声也提高了。然后我看到你删除了“标记为已回答”并再次降低了我的声誉。现在,即使我认为原始问题已被回答,您仍将该问题标记为未被回答,并请求帮助编程,使其超出原始问题的提问和回答范围。对此,我深表歉意。我认为如果标记为已回答,我将不会收到进一步的回复,这是y…我是新到现场的..请理解