获取行中的第一个和第二个td元素
我有一个ajax调用附加到表行内的图片的click事件。 单击pic并启动click事件后,我需要从该行中获取第一个和第二个td
元素。 我是jQuery的新手,所以我下面的内容是我最近的尝试(不工作……)。 在执行这些行之后,变量firstName
和lastName
都会被undefined
$('.checkErrors').click(function () { var firstName = $(this).parent('tr td:first-child').val(); var lastName = $(this).parent('tr td:nth-child(2)').val(); $.ajax({ type: 'GET', url: '@Url.Action("GetErrors","AgentTransmission")', data: { term: $(this).attr('id') }, . . }); });
这是一个示例表行。 最后一个td
元素中的图像包含.click
事件。 我想抓住包含文本“phinneas”和“ferbseven”的前两个。
phinneas ferbseven 7735 Agent SAF   07070900 6/5/2013 10:35:38 AM DANTAK Error Details | Edit
使用closest
var $tr = $(this).closest(´tr´); var firstName = $tr.find('td:first-child').text(); var lastName = $tr.find('td:nth-child(2)').text();
此外,您需要为td
元素使用text
而不是val
,因为它仅对输入控件有意义。
首先,只有表单元素具有.val
属性。
你应该使用.text
因为它是一个td
尝试使用:eq
psuedo选择器
var $tr; $tr.find('td:eq(0)').text(); $tr.find('td:eq(1)').text();
要获取其内容,您可以执行以下操作:
var cells = $(this).closest('td').siblings('td'); var firstName = cells.eq(0).text(); var firstName = cells.eq(1).text();
最后两行也可以是:
var firstName = $(cells[0]).text(); var firstName = $(cells[1]).text();
- OutputCache属性和jQuery Ajax没有缓存
- MVC3使用JQuery Ajax将ViewModel传递给控制器方法
- 如何在没有额外的&符号麻烦的情况下将正确的Url.Action传递给JQuery方法?
- ASP.NET MVC 3中的更新面板
- jQuery MultiSelect下拉列表如何访问结果?
- ASP.Net MVC 3不显眼的客户端validation不适用于下拉列表
- 在文本框上手动设置不显眼的validation错误
- 使用jQuery datepicker从ASP MVC @ Html.TextBoxFor Control中删除时间
- 使用动态表单进行ASP.Net MVC 3客户端validation