如何通过单击单选按钮使用 dojo show/hide DIV?
how to use dojo to show/hide DIV by clicking radio button?
默认情况下,状态应 selected 并且应出现状态下拉列表。如果您 select 区域单选按钮,区域下拉列表应该出现。以下是标记。如何使用 dojo 来做到这一点?
<input type="radio" name="selection" value="state" checked> State
<input type="radio" name="selection" value="region" > Region
<div id="state">
<select name="state">
<option value="alabama">Alabama</option>
<option value="alaska">Alaska</option>
</select>
</div>
<div id="region">
<select name="region">
<option value="se">South East</option>
<option value="ne">Northern Central</option>
</select>
</div>
一个简单的 js 脚本就足够了,但如果您想在 Dojo 中制作它,请参阅我的 jsFiddle:
如果您想添加其他输入,我已经在 html 中添加了一些数据属性以使其成为全局属性
dojo 中的 js 代码:
require([
'dojo/dom',
'dojo/dom-construct',
'dojo/dom-style',
'dojo/query',
'dojo/on',
'dojo/domReady!'
], function (dom, domConstruct,domStyle,query,On) {
domStyle.set(dom.byId('state'), "display", "block");
domStyle.set(dom.byId('region'), "display", "none");
On(query('.radio'),'change',function(){
query('.combo').forEach(function(divElement){
domStyle.set(divElement, "display", "none");
});
domStyle.set(dom.byId(this.dataset.target), "display", "block");
});
});
默认情况下,状态应 selected 并且应出现状态下拉列表。如果您 select 区域单选按钮,区域下拉列表应该出现。以下是标记。如何使用 dojo 来做到这一点?
<input type="radio" name="selection" value="state" checked> State
<input type="radio" name="selection" value="region" > Region
<div id="state">
<select name="state">
<option value="alabama">Alabama</option>
<option value="alaska">Alaska</option>
</select>
</div>
<div id="region">
<select name="region">
<option value="se">South East</option>
<option value="ne">Northern Central</option>
</select>
</div>
一个简单的 js 脚本就足够了,但如果您想在 Dojo 中制作它,请参阅我的 jsFiddle:
如果您想添加其他输入,我已经在 html 中添加了一些数据属性以使其成为全局属性
dojo 中的 js 代码:
require([
'dojo/dom',
'dojo/dom-construct',
'dojo/dom-style',
'dojo/query',
'dojo/on',
'dojo/domReady!'
], function (dom, domConstruct,domStyle,query,On) {
domStyle.set(dom.byId('state'), "display", "block");
domStyle.set(dom.byId('region'), "display", "none");
On(query('.radio'),'change',function(){
query('.combo').forEach(function(divElement){
domStyle.set(divElement, "display", "none");
});
domStyle.set(dom.byId(this.dataset.target), "display", "block");
});
});