Фильтр таблиц
Здравствуйте.
Подскажите, пожалуйста, как сделать кнопку фильтрации таблицы? То есть задача такова: php выгружается таблица из БД,и как сделать чтобы сверху была кнопка, при нажатии на которую можно выбрать название и таблица фильтруется (отображается только выбранное). Подойдет любая подсказка - от примеров такого скрипта до хотя бы направления в котором стоит искать. Спасибо. |
Цитата:
|
Цитата:
Пока вот что нашел - использование Tabular Data, но он работает только в Internet Explorer. Есть какие-нибудь альтернативы? |
ksa,
спасибо большое! Сейчас начну разбираться. nasqad, тут же только сортировка, разве нет? Мне просто нужна именно кнопа автофильтра с возможностью выбрать строки. |
Цитата:
|
Чтобы не плодить тем, задам еще 1 вопрос здесь=):
Вот есть таблица с 2 колонками, в 1 находятся кнопки, в другой другая таблица. Вот внутренняя таблица состоит из: наименование и checkbox: echo '<tr> <td width = "400px">'.$DN.'</td> <td width = "40px" align="middle"><input type="checkbox" onclick = "" id="'.$DC.'" name = "Det['.$i.']" value="on"/></td> </tr>'; Мне нужно добавить кнопку, чтобы при нажатии отправился массив таких checkbox'ов в другой php файл. Проблема в том, что кнопка эта будет находиться в другой колонке внешней таблицы (то есть в 1 колонке внешней таблицы находится таблица с checkbox'ами, в другой-эта кнопка). Как создать такую кнопку:) ? Возможно вопрос глупый, или я запутано объяснил, но я не знаю как это сделать.:) |
Итак, вот что придумал, но почему-то не работает:
<p><a class="Link1 href="javascript:SendForm()">Ссылка</a></p> И javascript:
function SendForm(){
var checkboxes = document.getElementsByName('Det[]');
var i = checkboxes.length;
var SendData = document.createElement("form");
SendData.action = "test.php";
SendData.method = 'POST';
SendData.id = 'SendID';
var NewData = new Array(i);
while(i--) {
if (checkboxes[i].checked == true) {
NewData[i] = document.createElement("input");
NewData[i].name = 'Det['+i+']';
NewData[i].type = 'hidden';
NewData[i].value = checkboxes[i].id;
SendData.appendChild(NewData[i]);
}
}
document.getElementsByTagName('body')[0].appendChild(SendData);
SendData.submit();
return false;
}
Но данные не отправляются:(. В чем ошибка? |
Цитата:
|
Там стоит скобка=) просто она почему-то стерлась.
<p><a class="Link1" href="javascript:SendForm()">Ссылка</a></p> Конечно, всё так выглядит. |
Georgy, я к тому, что если форма не отправляется как нужно - значит вёрстка негодится.
|
АААА! Я НАШЕЛ!
Оказывается, проблема была в этой строчке NewData[i].name = 'Det['+i+']'; Вернее дело в квадратных скобках 'Det['+i+']'. Если их убрать, то все работает:victory: . |
нужен поиск по таблице, чтобы при наборе в ячейке поиска таблица автоматом фильтровала все соответствующие позиции проверяя по всем ячейкам.
|
поиск в таблице и скрытие строк
UJKJDF,
если ненужно скрытие убрать строки 42 - 44
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style type='text/css'>
body {
font-family: Arial, Helvetica;
font-size: 12px;
}
table {
width: 500px;
}
tr {
height: 20px;
}
.guide {
text-decoration: underline;
text-align: center;
}
tbody tr:nth-of-type(2n + 1) {
color: #fff;
background: #666;
}
tbody tr:nth-of-type(2n) {
color: #666;
}
.hot {
border: 1px solid #f00;
background-color: #FFD480;
color: #000000;
}
</style>
<script>
$(function() {
$("input#search").on("input", function() {
var text = this.value.toLowerCase();
$("tr:not(.guide) td").removeClass("hot").each(function(i, obj) {
if ($(obj).text().toLowerCase().indexOf(text) > -1 && text) $(obj).addClass("hot")
});
$("tr:not(.guide)").show().filter(function() {
return text && !$(".hot", this).length
}).hide()
})
});
</script>
</head>
<body>
<input id="search" type="text"></input>
<table>
<tr class="guide">
<td>First Name</td>
<td>Last Name</td>
<td>City</td>
<td>State</td>
</tr>
<tr>
<td>Manix</td>
<td>Bolton</td>
<td>Merizo</td>
<td>Michigan</td>
</tr>
<tr>
<td>Azalia</td>
<td>Gallegos</td>
<td>Plainfield</td>
<td>Michigan</td>
</tr>
<tr>
<td>Michael</td>
<td>Shaw</td>
<td>Rawlins</td>
<td>New Hampshire</td>
</tr>
<tr>
<td>Matthew</td>
<td>Parker</td>
<td>Chino Hills</td>
<td>Michigan</td>
</tr>
</table>
</body>
</html>
|
Спасибо! попробую доработать,
При наборе текста в поиске надо чтоб находил все варианты например /Розетка СП Мира с заземл керам/ это в одной ячейке набираю в поиске роз(пробел)мира(пробел)сп(п обел)бел в любой последовательности надо чтобы находило. |
UJKJDF,
RegExp и regexp.test - изучить и добавить вместо indexOf |
<script>
$(function() { $("input#search").on("input", function() { var text = this.value.toLowerCase(); $("tr:not(.guide) td").removeClass("hot").each(function(i, obj) { if ($(obj).text().toLowerCase().indexOf(text) > -1 && text) $(obj).addClass("hot") }); $("tr:not(.guide)").show().filter(function() { return text && !$(".hot", this).length }).hide() }) }); </script> indexOf нашел только в этом совсем не понимаю разобрался только с toLowerCase (подскажите новичку) |
Сам не смогу.
скинь пожалуйста! посмотрю что получилось. |
Есть плагин???
|
| Часовой пояс GMT +3, время: 13:43. |