如何根据表中列的值禁用下拉列表和按钮

时间:2014-02-05 23:59:23

标签: javascript jquery html jsp

我有一个表,其中包含一组从数据库中获取值的列以及每行中的下拉列表和按钮。根据其中一列(YEAR)的值,需要禁用下拉列表(SALARY)和按钮(UPDATE)。

我尝试了两种使用Javascript和Jquery的方法。但两者似乎都不起作用。

1)我尝试使用Javascript

在pageload上触发事件
<body onload="dropdownDisabler();">

Javascript部分:

function dropdownDisabler()
{
    if ($("#YEAR").val() >= 2005)
    {
                    $("#SALARY").enabled=false;
                    $("#UPDATE").enabled=false;
    }

}

2)我尝试使用JQuery匹配所有具有特定条件的YEAR列元素:

if($('#YEAR').val() >= 2005)
{
     $(this).find("#SALARY").prop('disabled',true);
     $(this).find("#UPDATE").prop('disabled',true);
}

1 个答案:

答案 0 :(得分:2)

您可以迭代所有行,检查年份的值,然后在该行的selectbutton元素上设置disabled属性:

$(document).ready(function() {

    $("#UpdateSalary tbody tr").each(function( index ) {

        var $this = $(this);
        if ($this.children("td:first").text() >= 2005 ) {
           $this.find("select, button").prop("disabled", true);
        }

    });

});

jsFiddle Demo

请注意,由于您有多行(我假设),因此不应对元素ID's must be unique on each document使用ID。您可以使用类来更轻松地定位每行中的元素,例如<td class="year">2004</td>