选择所有不返回任何值

Selecting all not returning any value

本文关键字:返回 任何值 选择      更新时间:2023-09-26

我需要帮助,我不知道我做错了什么,我需要显示所有当我选择值"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);
}

正如@jacksondc指出的,您希望它包含select.value。所以:

改变:

tr.style.display = tr.className == select.value ? "" : "none";

:

tr.style.display = tr.className.indexOf(select.value)!=-1 ? "" : "none";