基于子元素内容禁用表行的Javascript/Jquery函数
我有一个表格,每一行我都有一个单元格(例如,第一行:基于子元素内容禁用表行的Javascript/Jquery函数,javascript,jquery,Javascript,Jquery,我有一个表格,每一行我都有一个单元格(例如,第一行:(id:ctl00\u MainContent\u grdSearch\u i0\u c5)。我需要检查这个单元格是否有值1,然后禁用它的行(即在上述情况下,ctl00\u MainContent\u grdSearch\u i0) 请尝试以下操作: $('tr').find('td[id^="ctl00_MainContent_grdSearch"]').each(function() { var self = $(this); if
(id:ctl00\u MainContent\u grdSearch\u i0\u c5)
。我需要检查这个单元格是否有值1
,然后禁用它的行(即在上述情况下,ctl00\u MainContent\u grdSearch\u i0
)
请尝试以下操作:
$('tr').find('td[id^="ctl00_MainContent_grdSearch"]').each(function() {
var self = $(this);
if (self.text() === '1') {
self.closest('tr').attr('disabled', 'disabled');
}
});
请尝试以下操作:
$('tr').find('td[id^="ctl00_MainContent_grdSearch"]').each(function() {
var self = $(this);
if (self.text() === '1') {
self.closest('tr').attr('disabled', 'disabled');
}
});
你说这张桌子是真正的沙发床,所以这很有效。看到小提琴了吗
你说这张桌子是真正的沙发床,所以这很有效。看到小提琴了吗
使用
:contains()
选择器可以使用一行来完成此操作。此示例假设您正在使用注释中描述的div
元素
$( "#ctl00_MainContent_grdSearch_itemsHolder > div:contains(1)" )
.attr( "disabled", "disabled");
如果您的HTML更复杂,您可能希望更具体一些,并使用此行:
$( "#ctl00_MainContent_grdSearch_itemsHolder > div[id^=ctl00_MainContent_grdSearch_i]:contains(1)" )
.attr( "disabled", "disabled");
第一行查找值为1
的itemsHolder div
下的任何div
。第二行仅查找值为1
的div
元素,其id为ctl00\u main content\u grdSearch\u i
在这个演示中,我为禁用的行设置了背景色:灰色;
,以便您可以看到它们
演示:
HTML:
0
0
0
0
1.
0
1.
0
0
0
0
0
CSS:
.item{
显示:内联块;
}
脚本:
$(“#ctl00_main content_grdSearch_itemsHolder>div:contains(1)”)
.attr(“禁用”、“禁用”).css(“背景色”、“灰色”);
输出:
您可以用一行代码通过
:contains()
选择器来实现这一点。本例假设您正在使用注释中描述的div
元素
$( "#ctl00_MainContent_grdSearch_itemsHolder > div:contains(1)" )
.attr( "disabled", "disabled");
如果您的HTML更复杂,您可能希望更具体一些,并使用此行:
$( "#ctl00_MainContent_grdSearch_itemsHolder > div[id^=ctl00_MainContent_grdSearch_i]:contains(1)" )
.attr( "disabled", "disabled");
第一行查找值为1
的itemsHolder div
下的任何div
。第二行仅查找值为1
的div
元素,其id为ctl00\u main content\u grdSearch\u i
在这个演示中,我为禁用的行设置了背景色:灰色;
,以便您可以看到它们
演示:
HTML:
0
0
0
0
1.
0
1.
0
0
0
0
0
CSS:
.item{
显示:内联块;
}
脚本:
$(“#ctl00_main content_grdSearch_itemsHolder>div:contains(1)”)
.attr(“禁用”、“禁用”).css(“背景色”、“灰色”);
输出:
到目前为止您尝试了什么?请发布一些实际的代码和任何相关的HTML。什么是“表格”?HTML?你想禁用什么?输入/锚定?禁用行是什么意思?如果特定单元格的值为1,你想禁用特定行中的所有控件吗?@ManseUK它是asp.net gridview,但在呈现时它在浏览器中显示为HTML表。如果它正常工作,你就不会问问题了关于它。请在你的问题中添加更多细节,而不是在评论中重复你自己。到目前为止你尝试了什么?请发布一些实际的代码和任何相关的HTML。什么是“表”?HTML?你想禁用什么?输入/锚定?禁用行是什么意思?如果特定单元格的值为1,你想禁用特定行中的所有控件吗?@ManseUK它是asp.net gridview,但在呈现时它在浏览器中显示为HTML表。如果它正常工作,你就不会问问题了关于它。请在你的问题中添加更多细节,而不是在评论中重复你自己。非常感谢你的指导,但我注意到它即将出现,而不是出现在表格中:-(这会起作用吗?@Zerotoinfinite是的,它会起作用。请发布您希望处理的HTML,我会相应地更新。就像这样,我想我把您弄糊涂了。它就像ctl00\u MainContent\u grdSearch\u itemsHolder中的每个div(这将获得ctl00\u MainContent\u grdSearch\u itemsHolder中的行)在上述foreach中的foreach,即对于每一行ctl00\u main content\u grdSearch\u i0,我们需要查找项目,并且基于控制文本tl00\u main content\u grdSearch\u i0\u c6,我们需要禁用完整的行[e.ctl00\u main content\u grdSearch\u i0],非常感谢您的指导,但我注意到它正在提交,而不是表格:-(这会起作用吗?@Zerotoinfinite是的,它会起作用。请发布您希望处理的HTML,我会相应地更新。就像这样,我想我把您弄糊涂了。它就像ctl00\u MainContent\u grdSearch\u itemsHolder中的每个div(这将获得ctl00\u MainContent\u grdSearch\u itemsHolder中的行)在上述foreach中的foreach,即对于每一行ctl00\u main content\u grdSearch\u i0,我们需要查找项目,并根据控制文本tl00\u main content\u grdSearch\u i0\u c6,我们需要禁用完整的行[e.ctl00\u main content\u grdSearch\u i0]