[英]Disable a <tr> where one of its <td> contains any value
我有一张桌子,里面有多个trs和tds。 每个td都为一个特定字段包含一个不同的元素名称,无论是否存在文本,我都需要计算出来。 如果在该字段中有文本,那么我希望禁用整个tr或理想情况下将其从选择中隐藏(因为有一个单选按钮,如果此td包含任何文本,我不希望用户单击)
表构造在下面,很抱歉,它是一个屏幕截图
我尝试了一些尝试来尝试查找具有文本的名称之类的元素,然后,如果它具有文本,则隐藏其父级,即整行,如果不执行任何操作……这根本不执行任何操作!
$(document).ready(function() {
$('[name^="ctl00_MainPlaceHolder_rpVacantTime_ct"]').each(function() {
if ($(this).text()) {
$(this).parent().hide();
} else {
alert($(this).text());
}
});
});
因此,理想情况下,我希望上面的代码找到具有相同名称的所有元素,然后隐藏其父行。
只需查找标签,然后在满足条件的情况下沿树向上移至tr
。
您可以使用jquery“ ends with”选择器$=
来选择没有所有难看的asp.net id的标签。
$("span[id$='lblReservationReason']").each(function(){
if ($(this).text().length > 0){
$(this).closest('tr').hide();
}
});
编辑
要在排成一行时禁用广播,可以使用find
返回树下
$("span[id$='lblReservationReason']").each(function(){
if ($(this).text().length > 0){
let radio = $(this).closest('tr')
.find('input[type="radio"][name="rbVacantTime"]');
$(radio).prop('disabled', true);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.