通过完全匹配内容来选择元素时,我遇到了语法问题。
$(document).ready(function () {
$("#scorecardId").change(function () {
var value = $(this).val().toLowerCase();
$("#myTable tr").filter(function () {
//filters by the 8th column scorecard
$(this).toggle($(this).children(":eq(8)").text().toLowerCase().indexOf(value) > -1)
});
});
});
HTML
<table class="table table-condensed table-hover table-responsive table-striped">
<tr>
<th>Edit</th>
<th>
<a href="@Html.GetUrlAndRouteObject(Model.Sort, "change_date")">
Change Date
@Html.AddSortArrow(Model.Sort, "change_date")
</a>
</th>
<th>
Effective Date
</th>
<th>
@Html.DropDownListFor(model => model.type, new SelectList(Model.type), "-Type-", new { @id = "typeId" })
</th>
<th>
Description
</th>
<th>
Empid
</th>
<th>
SSO
</th>
<th>
Agent_Name
</th>
<th>
@Html.DropDownListFor(model => model.type, new SelectList(Model.scorecard), "-Scorecard-", new { @id = "scorecardId" })
</th>
<th>
Load_Date
</th>
</tr>
@foreach (var item in Model.get_staff_changelog_results)
{
<tbody id="myTable">
<tr>
<td>
@using (Html.BeginForm("Index", "StaffChange", FormMethod.Post, new { @id = "myform" }))
{
@Html.Hidden("sso", item.SSO)
@Html.Hidden("name", item.Agent_Name)
<a href="javascript: submitForm();" class="fa fa-pencil fa-lg"></a>
}
</td>
<td>
@Html.DisplayFor(modelItem => item.Change_Date)
</td>
<td>
@Html.DisplayFor(modelItem => item.Effective_Date)
</td>
<td>
@Html.DisplayFor(modelItem => item.Type)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.Empid)
</td>
<td>
@Html.DisplayFor(modelItem => item.SSO)
</td>
<td>
@Html.DisplayFor(modelItem => item.Agent_Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Scorecard)
</td>
<td>
@Html.DisplayFor(modelItem => item.Load_Date)
</td>
</tr>
</tbody>
}
上面的函数是找到包含我的输入字符串的任何字符串。如果我正在搜索 CAM ,结果输出可能包括 CAM,CAM TOS,CAM FOO 等。实际上,我仅想要在我的搜索结果中使用 CAM 。我理解我的语法不是在寻找这个,但这就是我遇到问题的地方。
我发现帖子here解释了我正在寻找的内容,但我无法获得正确的语法。我已经尝试了下面的内容,但似乎不起作用:
$(this).toggle($(this).children(":eq(" + "8" + ")").text().toLowerCase() === value > -1)
找到完全匹配的正确语法是什么?
答案 0 :(得分:0)
从<tbody>
循环中取出for
标记后。
尝试这个,虽然与你尝试过的没什么不同。
还可以在console.log中比较你要比较的两个文本,看看它们是否产生了预期的文本。
$(this).toggle(($(this).children(":eq(8)").text().toLowerCase()) === value);