使用jQuery遍历表遍历问题

时间:2015-07-23 18:10:41

标签: javascript jquery html

我试图通过在每一行中运行jQuery函数来隐藏表中的元素,检查行的类并基于此隐藏。我似乎遇到的问题是该函数将检查第一行的类,并在所有其他检查基础上隐藏,如果第一次检查是真或假。下面是函数和表单的一部分

表格

<select id="select" onchange="eligibility_changed(this);" class="fieldsel">

     <option value="Select One:">Select One:</option>
     <option value=".ineligible">Ineligible</option>
     <option value=".eligible">Eligible</option>
     <option value=".confirmed">Eligible</option>

</select>

功能

function eligibility_changed($this) {

    jQuery(".fieldsel").each(function() {
        var col = this.id;
        var val = this.value;

        console.log(val);

        if (val != "Select One:") {
            jQuery("#tbl>tbody>tr").each(function() {

                //Ran to check the row's class.
                console.log(jQuery('#eligfld').attr('class'));

                if (!jQuery( "#eligfld" ).is(val)) {
                    jQuery(this).hide();
                }
            });
        }
    });

};

1 个答案:

答案 0 :(得分:1)

假设行具有您在选项中显示的类,您不需要循环所有行只是隐藏该类

if (val != "Select One:") {
     // show all, filter for class and hide that class
     jQuery("#tbl>tbody>tr").show().filter(val).hide();
}

这是ID独立的,因此除非您有多个具有相同ID的表

,否则重复ID不应成为问题