2010-11-12 69 views
0

我想在之前和此之后插入一个标签,我刚刚创建了dojo filteringSelect小部件标签。我怎么能在道场做到这一点?在dojo过滤之前和之后添加span标签SelectWidget

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js"> 
    </script> 
    <script type="text/javascript"> 
     dojo.require("dijit.form.FilteringSelect"); 
     var filteringSelect = new dijit.form.FilteringSelect({ 
      id: "test" 
     }, "test"); 
    </script> 
    /> 
</head> 
<body> 
    <div aria-expanded="false" widgetid="test" role="combobox" class="dijit dijitReset dijitInlineTable dijitLeft dijitComboBox" id="widget_test" dojoattachevent="onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse" dojoattachpoint="comboNode" wairole="combobox" tabindex="-1"> 
     <div style="overflow: hidden;"> 
      <div role="presentation" class="dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonActive" dojoattachpoint="downArrowNode" wairole="presentation" dojoattachevent="onmousedown:_onArrowMouseDown,onmouseup:_onMouse,onmouseenter:_onMouse,onmouseleave:_onMouse"> 
       <div class="dijitArrowButtonInner"> 
        ? 
       </div> 
       <div class="dijitArrowButtonChar"> 
        ? 
       </div> 
      </div> 
      <div class="dijitReset dijitValidationIcon"> 
       <br> 
      </div> 
      <div class="dijitReset dijitValidationIconText"> 
       ? 
      </div> 
      <div class="dijitReset dijitInputField"> 
       <input aria-owns="test_popup" value="United States" aria-required="true" tabindex="0" id="test" aria-invalid="false" aria-autocomplete="list" aria-haspopup="true" role="textbox" autocomplete="off" class="dijitReset" dojoattachevent="onkeypress:_onKeyPress,compositionend" dojoattachpoint="textbox,focusNode" wairole="textbox" waistate="haspopup-true,autocomplete-list" type="text"><input name="" style="display: none;" type="text"> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

回答

1

好吧,如果你绝对要拆你的Javascript和HTML这样的FilteringSelect来定义,我觉得你可以做喜欢的事,丑陋:

var targetInput = dojo.byId("test"); 
var spanWrapper = dojo.create("span"); 

dojo.place(wrapperSpan, targetInput, "replace"); 
dojo.place(targetInput, wrapperSpan); 

dojo.require("dijit.form.FilteringSelect"); 

var filteringSelect = new dijit.form.FilteringSelect({ 
    id: "test" 
}, "test"); 
+0

我被吓坏了我刚才张贴,但现在我只是想不到另一种方式。过去有一个wrap()方法,但显然它不在那里了。 – Frode 2010-11-12 21:35:25

+1

它仍然存在,只是很难找到 - http://dojotoolkit.org/api/dojo/NodeList.html但是,这将嵌套在标签中的小部件。对于之前和之后的标签,这不就是两次调用dojo.create()吗? – peller 2010-11-13 02:58:20

相关问题