Javascript 搜索机制在Html表中不起作用
我正在研究html中的搜索机制,当我第一次搜索数据时它就开始工作了。如果我搜索下一个数据,它不会按预期搜索。如果我用空数据搜索,它将不会显示实际的表(在初始时间显示) JsFiddle: 我的代码:Javascript 搜索机制在Html表中不起作用,javascript,jquery,html,Javascript,Jquery,Html,我正在研究html中的搜索机制,当我第一次搜索数据时它就开始工作了。如果我搜索下一个数据,它不会按预期搜索。如果我用空数据搜索,它将不会显示实际的表(在初始时间显示) JsFiddle: 我的代码: <!DOCTYPE> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"&
<!DOCTYPE>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<style> td{border: thin solid;} </style>
<script type="text/javascript">
function searchTable(inputVal) {
var inputVal = document.getElementById('searchdata').value;
$('.table').html($('.table').html().replace(RegExp(inputVal, 'g'), '<span class="showthis">' + inputVal + '<span>'));
$("tr").css('display', 'none');
$(".showthis").parent().parent().css('display', '');
}
function addList(){
var table = "";
table += "<table class='table'>";
table += "<tr>";
table += "<td>S.no</td>";
table += "<td>Name</td>";
table += "<td>Gender</td>";
table += "</tr>";
for(i=0; i<10; i++) {
table += "<tr>";
table += "<td>"+i+"</td>";
table += "<td>Name"+i+"</td>";
table += "<td>"+( i > 5 ? "Male" : "Female")+"</td>";
table += "</tr>";
}
table += "</table>";
var body = document.getElementById("ListContainer");
body.innerHTML = table;
}
</script>
</head>
<body onload="addList();">
<input id="Button1" type="button" value="button" onclick="searchTable();" />
<input id="searchdata" type="text" />
<div id="ListContainer" > </div>
</body>
</html>
td{边框:薄实体;}
函数搜索表(inputVal){
var inputVal=document.getElementById('searchdata')。值;
$('.table').html($('.table').html().replace(RegExp(inputVal,'g'),''+inputVal+'');
$(“tr”).css('display','none');
$(“.showthis”).parent().parent().css('display','');
}
函数addList(){
var表=”;
表+=”;
表+=”;
表+=“序号”;
表+=“名称”;
表+=“性别”;
表+=”;
对于(i=0;i 5?“男性”:“女性”)+“”;
表+=”;
}
表+=”;
var body=document.getElementById(“ListContainer”);
body.innerHTML=表格;
}
提前感谢…修改搜索功能如下:
function searchTable(inputVal) {
var inputVal = document.getElementById('searchdata').value;
if(inputVal){ //check for valid searches
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal, 'g'), '<span class="showthis">' + inputVal + '<span>'));
$("tr").css('display', 'none');
$(".showthis").parent().parent().css('display', '');
}
else{
addList(); // if you don't want to reinitialize table on empty searches skip this
}
}
函数搜索表(inputVal){
var inputVal=document.getElementById('searchdata')。值;
if(inputVal){//检查有效的搜索
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal,'g'),''+inputVal+'');
$(“tr”).css('display','none');
$(“.showthis”).parent().parent().css('display','');
}
否则{
addList();//如果不想在空搜索上重新初始化表,请跳过此步骤
}
}
按如下方式修改搜索功能:
function searchTable(inputVal) {
var inputVal = document.getElementById('searchdata').value;
if(inputVal){ //check for valid searches
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal, 'g'), '<span class="showthis">' + inputVal + '<span>'));
$("tr").css('display', 'none');
$(".showthis").parent().parent().css('display', '');
}
else{
addList(); // if you don't want to reinitialize table on empty searches skip this
}
}
函数搜索表(inputVal){
var inputVal=document.getElementById('searchdata')。值;
if(inputVal){//检查有效的搜索
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal,'g'),''+inputVal+'');
$(“tr”).css('display','none');
$(“.showthis”).parent().parent().css('display','');
}
否则{
addList();//如果不想在空搜索上重新初始化表,请跳过此步骤
}
}
按如下方式修改搜索功能:
function searchTable(inputVal) {
var inputVal = document.getElementById('searchdata').value;
if(inputVal){ //check for valid searches
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal, 'g'), '<span class="showthis">' + inputVal + '<span>'));
$("tr").css('display', 'none');
$(".showthis").parent().parent().css('display', '');
}
else{
addList(); // if you don't want to reinitialize table on empty searches skip this
}
}
函数搜索表(inputVal){
var inputVal=document.getElementById('searchdata')。值;
if(inputVal){//检查有效的搜索
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal,'g'),''+inputVal+'');
$(“tr”).css('display','none');
$(“.showthis”).parent().parent().css('display','');
}
否则{
addList();//如果不想在空搜索上重新初始化表,请跳过此步骤
}
}
按如下方式修改搜索功能:
function searchTable(inputVal) {
var inputVal = document.getElementById('searchdata').value;
if(inputVal){ //check for valid searches
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal, 'g'), '<span class="showthis">' + inputVal + '<span>'));
$("tr").css('display', 'none');
$(".showthis").parent().parent().css('display', '');
}
else{
addList(); // if you don't want to reinitialize table on empty searches skip this
}
}
函数搜索表(inputVal){
var inputVal=document.getElementById('searchdata')。值;
if(inputVal){//检查有效的搜索
//addList();
$('.table').html($('.table').html().replace(RegExp(inputVal,'g'),''+inputVal+'');
$(“tr”).css('display','none');
$(“.showthis”).parent().parent().css('display','');
}
否则{
addList();//如果不想在空搜索上重新初始化表,请跳过此步骤
}
}
可能是这样的
也许是这样
也许是这样
也许是这样
非常感谢你的帖子,谢谢你的作品。其他更好的方法(搜索机制)。即使我不喜欢我写的代码,它看起来也不好。@Hariharan更新了代码,现在它不仅可以用于第一次搜索。如果你能接受这个答案就好了。非常感谢老板。。。当我输入空数据而不调用addList()函数时,仍然需要恢复表。@Hariharan如果要恢复搜索,只需删除addList(),但是您打算如何允许用户返回初始阶段?目前一个空的搜索就可以了,或者是一个重置按钮?如果您不需要该功能,请删除对搜索功能中addList的两个调用。谢谢您的帮助。我感谢你的帮助。非常感谢你的帖子,谢谢你的作品。其他更好的方法(搜索机制)。即使我不喜欢我写的代码,它看起来也不好。@Hariharan更新了代码,现在它不仅可以用于第一次搜索。如果你能接受这个答案就好了。非常感谢老板。。。当我输入空数据而不调用addList()函数时,仍然需要恢复表。@Hariharan如果要恢复搜索,只需删除addList(),但是您打算如何允许用户返回初始阶段?目前一个空的搜索就可以了,或者是一个重置按钮?如果您不需要该功能,请删除对搜索功能中addList的两个调用。谢谢您的帮助。我感谢你的帮助。非常感谢你的帖子,谢谢你的作品。其他更好的方法(搜索机制)。即使我不喜欢我写的代码,它看起来也不好。@Hariharan更新了代码,现在它不仅可以用于第一次搜索。如果你能接受这个答案就好了。非常感谢老板。。。当我输入空数据而不调用addList()函数时,仍然需要恢复表。@Hariharan如果要恢复搜索,只需删除addList(),但是您打算如何允许用户返回初始阶段?目前一个空的搜索就可以了,或者是一个重置按钮?如果您不需要该功能,请删除对搜索功能中addList的两个调用。谢谢您的帮助。我感谢你的帮助。非常感谢你的帖子,谢谢你的作品。其他更好的方法(搜索机制)。即使我不喜欢我写的代码,它看起来也不好。@Hariharan更新了代码,现在它不仅可以用于第一次搜索。如果你能接受这个答案就好了。非常感谢老板。。。当我输入空数据而不调用addList()函数时,仍然需要重新获得表。@harich