2012-10-25 71 views
0

我的選擇位於具有style屬性display:none的div元素中,因爲它僅顯示在彈出窗口dojo中,忽略了這些,我看到一個正常的html選擇,但彈出窗口外的相同3行顯示了一個完美的dijit選擇形式dojo在父div div syle顯示無時忽略元素

我試圖隱藏的公開程度,但是從隨後的的jQuery插件bpupop不能顯示在div

<select name="ToServer" id="ToServer" data-dojo-type="dijit/form/Select"> 
    <option value="1" label="breitseite">breitseite</option> 
    <option value="2" label="pepe">pepe</option> 
    <option value="3" label="grow">grow</option> 
    <option value="4" label="hurricane">hurricane</option> 
</select> 

任何想法,我做錯了或者我怎麼能強迫道場再整的div打開彈出窗口

更新: 我有解析器的問題是我打電話1個對象兩次用相同的ID,但我固定它現在是在道場風格,但它只能說明我的選擇(相同的HTML輸出)的1個選項

道場後, 「渲染」 它看起來像:

<table class="dijit dijitReset dijitInline dijitLeft dijitDownArrowButton dijitSelect dijitValidationTextBox" data-dojo-attach-point="_buttonNode,tableNode,focusNode" cellspacing="0" cellpadding="0" role="listbox" aria-haspopup="true" tabindex="0" id="ToServer" widgetid="ToServer" aria-expanded="false" aria-invalid="false"><tbody role="presentation"><tr role="presentation"><td class="dijitReset dijitStretch dijitButtonContents" role="presentation"><div class="dijitReset dijitInputField dijitButtonText" data-dojo-attach-point="containerNode,_popupStateNode" role="presentation" popupactive="true"><span role="option" class="dijitReset dijitInline dijitSelectLabel dijitValidationTextBoxLabel ">breitseite</span></div><div class="dijitReset dijitValidationContainer"><input class="dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value="? " type="text" tabindex="-1" readonly="readonly" role="presentation"></div><input type="hidden" name="ToServer" data-dojo-attach-point="valueNode" value="1" aria-hidden="true"></td><td class="dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer" data-dojo-attach-point="titleNode" role="presentation"><input class="dijitReset dijitInputField dijitArrowButtonInner" value="? " type="text" tabindex="-1" readonly="readonly" role="presentation"></td></tr></tbody></table></dd></div><div class="dijitPopup dijitMenuPopup" style="visibility: visible; top: 174px; z-index: 1000; right: auto; left: 619px; display: none; " role="presentation" id="ToServer_dropdown" dijitpopupparent="ToServer"><div style="overflow: visible; top: 0px; width: 67px; visibility: visible; " class="dijit dijitMenu dijitReset dijitSelectMenu dijitValidationTextBoxMenu dijitMenuPassive" role="presentation" id="ToServer_menu" widgetid="ToServer_menu" tabindex="0"><table class="dijitReset dijitMenuTable" role="listbox" tabindex="0" data-dojo-attach-event="onkeypress:_onKeyPress" cellspacing="0" style=""> 
<tbody class="dijitReset" data-dojo-attach-point="containerNode"><tr class="dijitReset dijitSelectSelectedOption dijitValidationTextBoxSelectedOption dijitMenuItemSelected dijitMenuItem" data-dojo-attach-point="focusNode" role="option" tabindex="-1" aria-labelledby="dijit_MenuItem_0_text dijit_MenuItem_0_accel" id="dijit_MenuItem_0" aria-disabled="false" widgetid="dijit_MenuItem_0" aria-selected="true"> 
<td class="dijitReset dijitMenuItemIconCell" role="presentation"> 
    <img src="//ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/resources/blank.gif" alt="" class="dijitIcon dijitMenuItemIcon dijitNoIcon" data-dojo-attach-point="iconNode"> 
</td> 
<td class="dijitReset dijitMenuItemLabel" colspan="2" data-dojo-attach-point="containerNode" id="dijit_MenuItem_0_text">breitseite</td> 
<td class="dijitReset dijitMenuItemAccelKey" style="display: none" data-dojo-attach-point="accelKeyNode" id="dijit_MenuItem_0_accel"></td> 
<td class="dijitReset dijitMenuArrowCell" role="presentation"> 
    <div data-dojo-attach-point="arrowWrapper" style="visibility: hidden"> 
     <img src="//ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/resources/blank.gif" alt="" class="dijitMenuExpand"> 
     <span class="dijitMenuExpandA11y">+</span> 
    </div> 
</td> 

佩佩 + 增長 + 颶風 +

+0

如果他們不相關不要標記等科目。引用jquery。 – Layke

+0

它真的是jQuery的彈出式插件,我用它做了一個ifream - 非常奇怪,如果你問我 – yellowsir

+0

如果你可以提供一個示例頁面,它的託管,我會看看。 – Layke

回答

1

如果元素位於具有主題集的<body>標記內,則所有元素都將獲得Dojo樣式。

你的問題實際上並不是樣式,但它最有可能與解析。我會建議你的dijit/form/Select沒有得到解析。

您可以通過從控制檯運行證實了這一點:

require(["dojo/parser"], function(parser){ 
    parser.parse(); 
}); 
+0

我有解析器的問題是我打電話給1個對象兩次使用相同的ID,但我現在修復它,它是在道場風格,但它只顯示我1選項 – yellowsir

+0

您也可以指定一個節點解析。 parser.parse( 「elementId」) – Layke