私は非常に似た構造の2つのテーブルを持っています。2つの類似したテーブルでのjavacriptテーブルの検索
私は私がテーブルを簡単に検索ボックスを検索することができますが見つかりましたこのjavascriptがあります。私は非常に多くの初心者の初心者です、それはコードの私の強みではありません。
$(document).ready(function() {
$(".search").keyup(function() {
var searchTerm = $(".search").val();
var listItem = $('.results tbody').children('tr');
var searchSplit = searchTerm.replace(/ /g, "'):containsi('")
$.extend($.expr[':'], {
'containsi': function(elem, i, match, array) {
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
$(".results tbody tr").not(":containsi('" + searchSplit + "')").each(function(e) {
$(this).attr('visible', 'false');
});
$(".results tbody tr:containsi('" + searchSplit + "')").each(function(e) {
$(this).attr('visible', 'true');
});
var jobCount = $('.results tbody tr[visible="true"]').length;
$('.counter').text(jobCount + ' item');
if (jobCount == '0') {
$('.no-result').show();
} else {
$('.no-result').hide();
}
});
});
このコードは、ページに1つの表しかない場合にはうまく機能します。私の問題は、私は2です。
ここはテーブルの1つで、もう1つはヘッダーと実際のデータの内容を除いて全く同じです。
<div class="form-group pull-right">
<div class="input-group">
<input type="text" class="search form-control" placeholder="Search:">
<span class="input-group-btn">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#devices">
Add Device
</button>
</span>
</div>
</div>
<span class="counter pull-right"></span>
<table class="table table-responsive table-hover table-bordered results">
<thead>
<tr>
<th class="col-md-3">Device #</th>
<th class="col-md-3">Brand</th>
<th class="col-md-3">Model</th>
<th class="col-md-3">Color</th>
</tr>
<tr class="warning no-result">
<td colspan="7"><i class="fa fa-warning"></i> No result</td>
</tr>
</thead>
<tbody>
<?
$sql = "SELECT * FROM devices";
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
?>
<tr>
<th scope="row"><?=$row['uniqueID'];?></th>
<td><?=$row['Brand'];?></td>
<td><?=$row['Model'];?></td>
<td><?=$row['Color'];?></td>
</tr>
<?
}
?>
</tbody>
</table>
私はjavascriptでセレクタを変更するようなことを試みましたが、動作させることができません。私はちょうどそれを壊して、元のコードに戻ります。私はこれをどうやって行うのか分かりません。
2つのテーブルを個別に処理するためにJavaScriptコードを変更するにはどうすればよいですか?
JSFiddle:https://jsfiddle.net/vdemqwLx/
。イベントハンドラ内expr'は意味がありません。ページのロードごとに一度、それを宣言します。 – charlietfl
@charlietflは、それは私の問題を解決しませんか? – GrumpyCrouton
いいえ、主な問題 – charlietfl