我有一个表单,您单击按钮,元素集合需要更改不透明度并选中单选按钮或复选框。我在表单中有很多这些,所以我需要帮助创建这种类型的数组。一些ID是dp001,dp002 .... dp050所以当它到达dp010时需要有一个附加前缀的条件。这个元素集合我想改变不透明度。其他元素集合没有任何特定的顺序,但我想收集它们并进行检查。在某处我创建了一个FUBAR :)
小提琴赢了工作......真的让我不知道为什么jsfiddle拒绝为我加载javascript。 Is This Fiddle FUBAR?
在我的网络服务器上,警报可以正常运行并不能满足我的需求。 Javscript works on my server check it out.
HTML
<div id="dp001">Item #1 <input type="radio" id="abc005"></div>
<div id="dp002">Item #2 <input type="radio" id="abc008"></div>
<div id="dp003">Item #3 <input type="checkbox" id="abc010"></div>
<div id="dp004">Item #4 <input type="checkbox" id="abc020"></div>
<div id="dp005">Item #5</div>
<div id="dp006">Item #6</div>
<div id="dp007">Item #7</div>
<div id="dp008">Item #8</div>
<div id="dp009">Item #9</div>
<div id="dp010">Item #10</div>
<div id="dp011">Item #11</div>
<button type="button" onclick="DoStuff();">Click</button>
JAVASCRIPT
function DoStuff() {
var items = null;
var checkMe = ["abc005" , "abc0008" , "abc010" , "abc020"];
for (i=1 ; i < 12 ; i++) {
if (i < 10) {
items = 'dp00' + i;
} else {
items = 'dp0' + i;
}
}
alert("ding");
document.getElementById("items").style.opacity="0.5";
document.getElementById("checkMe").checked = true;
}
答案 0 :(得分:1)
我认为你需要
function DoStuff() {
var checkMe = ["abc005" , "abc0008" , "abc010" , "abc020"];
for (var i=1; i < 12; i++) {
var items = 'dp0' + (i<10 ? '0' : '') + i;
document.getElementById(items).style.opacity = 0.5;
}
for (var i=0, l=checkMe.length; i<l; ++i)
document.getElementById(checkMe[i]).checked = true;
}
代码问题:
"items"
是一个文字字符串,而不是变量items
。 "checkMe"
。i