所以我的困境是我有一个页面上有一个待办事项列表样式输入,其中有单选按钮,用于确定要执行的操作的优先级。
以下是HTML部分:
<p style="">A to-do list</p>
<ol class="ch5">
</ol>
<p> </p>
<p>
<label for="txtAdd">New thing to do:</label>
<input name="txtAdd" type="text" id="txtAdd" size="50" maxlength="50"/>
</p>
<p>Set Priority</p>
<p>
<label>
<input type="radio" name="rgPrior" value="hi" id="rgPrior_0"/>
High</label>
<br/>
<label>
<input type="radio" name="rgPrior" value="med" id="rgPrior_1"/>
Meduim</label>
<br/>
<label>
<input type="radio" name="rgPrior" value="low" id="rgPrior_2"/>
Low</label>
<br/>
</p>
<p> </p>
<p>
<input type="button" name="btnAdd" id="btnAdd" value="Add a value" onClick="chapter05()" />
</p>
这是脚本:
var list = document.getElementsByClassName('ch5')[0];
var todo = document.getElementById('txtAdd').value;
var entry = document.createElement('li');
entry.appendChild(document.createTextNode(todo));
list.appendChild(entry);
这就是CSS:
.hiP {
color: red;
}
.medP {
color: blue;
}
.lowP {
color: green;
}
.ch5 {
padding-left: 30px;
}
我一直试图完成的是,如果您在文本框中键入要放入列表中的内容并单击优先级单选按钮,则放入列表中的任何内容都会显示红色,蓝色或绿色取决于优先级(红色为高,蓝色为中,绿色为低)。我不能为我的生活弄清楚这一点。
答案 0 :(得分:0)
您可以使用颜色类值创建对象,循环按钮以查找所选颜色,并使用相应的值设置项目颜色:
function chapter05() {
var list = document.getElementsByClassName('ch5')[0];
btn_colors = {
'hi': 'hiP',
'med': 'medP',
'low': 'lowP'
}
radios = document.getElementsByName('rgPrior');
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
btn_selected_color = (btn_colors[radios[i].value]);
break;
}
}
var todo = document.getElementById('txtAdd').value;
var entry = document.createElement('li');
entry.className = btn_selected_color;
entry.appendChild(document.createTextNode(todo));
list.appendChild(entry);
}
.hiP {
color: red;
}
.medP {
color: blue;
}
.lowP {
color: green;
}
.ch5 {
padding-left: 30px;
}
<p style="">A to-do list</p>
<ol class="ch5">
</ol>
<p> </p>
<p>
<label for="txtAdd">New thing to do:</label>
<input name="txtAdd" type="text" id="txtAdd" size="50" maxlength="50" />
</p>
<p>Set Priority</p>
<p>
<label>
<input type="radio" name="rgPrior" value="hi" id="rgPrior_0"/>
High</label>
<br/>
<label>
<input type="radio" name="rgPrior" value="med" id="rgPrior_1"/>
Medium</label>
<br/>
<label>
<input type="radio" name="rgPrior" value="low" id="rgPrior_2"/>
Low</label>
<br/>
</p>
<p> </p>
<p>
<input type="button" name="btnAdd" id="btnAdd" value="Add a value" onClick="chapter05()" />
</p>