我需要这方面的帮助而且我不知道我做错了什么,我需要在我选择值" a"以及不使用多个值的选项时显示所有内容。我很感激。
<body>
<select id="options" multiple>
<option value="a">Seleccione un año</option>
<option value="a y2014">2014</option>
<option value="a y2013">2013</option>
<option value="a y2012">2012</option>
</select>
<table>
<tr class="a y2014"><td>2014</td></tr>
<tr class="a y2014"><td>2014</td></tr>
<tr class="a y2014"><td>2014</td></tr>
<tr class="a y2013"><td>2013</td></tr>
<tr class="a y2013"><td>2013</td></tr>
<tr class="a y2013"><td>2013</td></tr>
<tr class="a y2012"><td>2012</td></tr>
<tr class="a y2012"><td>2012</td></tr>
<tr class="a y2012"><td>2012</td></tr>
</table>
</body>
使用Javascript:
window.onload=function()
{
var select = document.getElementById("options"),
forEach = Array.prototype.forEach;
select.addEventListener("change", function()
{
forEach.call(document.getElementsByTagName("tr"), function(tr)
{
tr.style.display = tr.className == select.value ? "" : "none";
});
}, false);
}
答案 0 :(得分:0)
正如@jacksondc指出的那样,你希望它包含select.value。所以:
变化:
tr.style.display = tr.className == select.value ? "" : "none";
要:
tr.style.display = tr.className.indexOf(select.value)!=-1 ? "" : "none";