用javascript显示隐藏的div
我有以下资料:用javascript显示隐藏的div,javascript,css,dojo,Javascript,Css,Dojo,我有以下资料: var test = dojo.byId("clientDivision"); test.style.display = 'block'; 在作为select的onChange的一部分调用的函数中 下面是我试图显示的div: <tr id="divisionInputRow" name="divisionInputRow"> <div id="clientDivisionDiv" > <td><label>Org:<
var test = dojo.byId("clientDivision");
test.style.display = 'block';
在作为select的onChange的一部分调用的函数中
下面是我试图显示的div:
<tr id="divisionInputRow" name="divisionInputRow">
<div id="clientDivisionDiv" >
<td><label>Org:</label></td>
<td name="inputDivisionCell" id="inputDivisionCell" class="inputData">
<div dojoType="customdojo.stores.QueryReadStore" jsId="divisionStore"
queryTable="" url="/SkillsDB/autocomplete/buildClientDivisionList"
requestMethod="post"></div>
<select id="clientDivision" name="clientDivision.name" style ="display:none"
value="${project?.clientDivision?.encodeAsHTML()}"
dojoType="dijit.form.ComboBox" pageSize="15"
onChange="setCbHiddenId(this, 'clientDivision.id')"
required="true"
invalidMessage="Invalid Client Division"
promptMessage="Enter client division for this project">
</select>
<input type="hidden" id="clientDivision.id" name="clientDivision.id" value='${project?.clientDivision?.id}' />
</td>
</div>
</tr>
如你所见,这里有一个选择
<select id="clientDivision" name="clientDivision.name" style ="display:none"
在这里,我显式地将样式设置为display:none,以便在页面加载时将其隐藏,我只想在事件发生后将其取消隐藏
然而,我函数中的代码似乎什么都没做
谢谢当dojo解析您的文档时,会将转换为几个标记,如下所示:
<div widgetid="clientDivision" style="display: none;" id="widget_clientDivision" role="combobox">
<div class="dijitReset dijitRight dijitButtonNode dijitArrowButton ...>
<input class="dijitReset dijitInputField dijitArrowButtonInner" ...>
</div>
...
<div class="dijitReset dijitInputField dijitInputContainer">
<input value="${project?.clientDivision?.encodeAsHTML()}" id="clientDivision"
name="clientDivision.name" type="text">
</div>
</div>
dijit.byId("clientDivision").domNode.style.display = "none";
请注意,您必须使用dijit.byId而不是dojo.byId,它只用于DOM节点,而不是小部件,并且您必须使用它的domNode成员,它是dijit最外层的DOM节点。当dojo解析您的文档时,会将其转换为几个标记,如下所示:
<div widgetid="clientDivision" style="display: none;" id="widget_clientDivision" role="combobox">
<div class="dijitReset dijitRight dijitButtonNode dijitArrowButton ...>
<input class="dijitReset dijitInputField dijitArrowButtonInner" ...>
</div>
...
<div class="dijitReset dijitInputField dijitInputContainer">
<input value="${project?.clientDivision?.encodeAsHTML()}" id="clientDivision"
name="clientDivision.name" type="text">
</div>
</div>
dijit.byId("clientDivision").domNode.style.display = "none";
请注意,您必须使用dijit.byId而不是dojo.byId,它仅用于DOM节点,而不是小部件,并且您必须使用它的domNode成员,它是dijit最外层的DOM节点。Id clientDivision不是clientDivision吗?请检查样式以确保可见性未设置为隐藏。这是我唯一能想到的。如果返回元素并查看其内容,它是否显示了您期望的内容?我想说的是,在Firebug或开发人员工具中或任何浏览器必须查看控件上的样式并确保更改它们确实具有您想要的效果;如果在test.style.display…?@Rodolphe:[objectHTMLInputElement]之前添加此行,则显示Id clientDivision不是clientDivision吗?请检查样式以确保可见性未设置为隐藏。这是我唯一能想到的。如果返回元素并查看其内容,它是否显示了您期望的内容?我想说的是,在Firebug或开发人员工具中或任何浏览器必须查看控件上的样式并确保更改它们确实具有您想要的效果;如果您在test.style.display…?@Rodolphe:[objectHTMLInputElement]之前添加此行,则显示他还可以添加/删除dijitHidden CSS类,而不是直接修改.style。他还可以添加/删除dijitHidden CSS类,而不是直接修改.style。