我有一个表,其中包含一组从数据库中获取值的列以及每行中的下拉列表和按钮。根据其中一列(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);
}
答案 0 :(得分:2)
您可以迭代所有行,检查年份的值,然后在该行的select
和button
元素上设置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);
}
});
});
请注意,由于您有多行(我假设),因此不应对元素ID's must be unique on each document使用ID。您可以使用类来更轻松地定位每行中的元素,例如<td class="year">2004</td>