所有,
我在这里已经看到了几种关于SO的方法,该方法可以找到在表的td元素中编写的文本或html。由于某种原因,他们似乎没有为我工作。我显然做错了什么,但我不知道该怎么办。
编辑:问题是从我的td的html()始终显示为未定义。我似乎无法使用html(),text()等获取文本(EG company0)。
这是我的功能。 #searchbox是输入类型:文本
$(document).ready(function () {
$('#searchbox').change(function () {
var searchText = $(this).val();
$('.prospect_table tr').each(function () {
var obj = $(this).find('.propsect_td');
if (typeof obj != 'undefined') {
if (hideText(obj.html(), searchText))
$(this).show();
else
$(this).hide();
}
});
});
});
function hideText(prospectName, text) {
if (prospectName == 'undefined')
return false;
if (prospectName.toLowerCase().indexOf(text.toLowerCase()) >= 0)
{
return true;
}
else
{
return false;
}
}
这是我的页面来源
<input type="text" name="txtSearch" id="searchbox" value="Begin typing here..." />
<table class="prospect_table">
<tr>
<th>
ProspectName
</th>
<th>
Inactive
</th>
<th></th>
</tr>
<tr>
<td class="prospect_td">
Company0
</td>
<td>
<input class="check-box" disabled="disabled" type="checkbox" />
</td>
<td>
<a href="/CrmWeb/Company/Edit/0">Edit</a> |
<a href="/CrmWeb/Company/Details/0">Details</a> |
<a href="/CrmWeb/Company/Delete/0">Delete</a>
</td>
</tr>
<tr>
<td class="prospect_td">
Company1
</td>
<td>
<input class="check-box" disabled="disabled" type="checkbox" />
</td>
<td>
<a href="/CrmWeb/Company/Edit/0">Edit</a> |
<a href="/CrmWeb/Company/Details/0">Details</a> |
<a href="/CrmWeb/Company/Delete/0">Delete</a>
</td>
</tr>
等等...
关于如何改善并使其起作用的任何建议?也许我需要更多的id标签而不是类?
感谢您的帮助或建议!
最佳答案
尝试这个。将'.propsect_td'更改为'.prospect_td',将'IndexOf'更改为'indexOf',并将typeof obj!='undefined'替换为obj.length!= 0。
$(document).ready(function () {
$('#searchbox').change(function () {
var searchText = $(this).val();
$('.prospect_table tr').each(function () {
debugger
var obj = $(this).find('.prospect_td');
if (obj.length != 0) {
if (hideText(obj.html(), searchText))
$(this).show();
else
$(this).hide();
}
});
});
});
function hideText(prospectName, text) {
debugger
if (prospectName == 'undefined')
return false;
if (prospectName.toLowerCase().indexOf(text.toLowerCase()) >= 0)
{
return true;
}
else
{
return false;
}
}