javascript - 更改表行内的属性

标签 javascript jquery html css ruby

如果这是一个重复的问题,我深表歉意,但我找不到答案。如果没有示例,我无法找到提出问题的方法。 想象一下我有一个包含数百行的表。现在,在每一行上我都有一个选择框:

<select id="task_stat" name="task[stat]" style="display: none;"></select>

选项现在不再是问题(我的实际文件中有一些选项)。现在所有这些选择框都有相同的 id field 。我想知道如何在对应的 <tr> 时更改仅一个选择框的显示被点击。我有以下内容:

$("#myTableId tr").click(function() {
    $("select #task_stat").css("display"),"block");
});

当然有$(document).ready功能。但这将显示所有选择框(如预期),而不仅仅是一个。有没有办法只显示单击的表格行上的选择框? (如果可以点击 <td> 我真的很喜欢它,但我不认为 <td> 支持 .click

最佳答案

首先,不能有重复的 id 字段,而应使用类。其次,您应该能够像这样更改您的函数,该函数引用被单击的 tr 的子元素:

$("#myTableId tr").click(function() {
    $(this).children("select .task_stat").css("display","block");
});

这假设您将标记更改为如下所示:

<select class="task_stat" name="task[stat]" style="display: none;"></select>

编辑

正如下面的评论中提到的,这可能嵌套在 tr 的直接后代之外,因此使用 find() 而不是 children():

$("#myTableId tr").click(function() {
    $(this).find("select .task_stat").css("display","block");
});

关于javascript - 更改表行内的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107043/

相关文章:

jquery - 如何使用ajax调用json Controller 而不重定向到页面

html - 即使最大高度设置为 100%,当我旋转手机时图像也不能很好地缩放

javascript - 如何使用html5保存视频

javascript - Aptana 3 删除包 (jquery)

javascript - 在没有任何服务器请求的情况下触发文件下载

javascript - 您能到达的最远建筑物算法 - JavaScript

javascript - 对象内的函数导致错误

javascript - EmberJS 如何处理 transitionTo

javascript - 将坐标(地理位置)存储在数组中以计算距离

html - 表格标题上的按钮