Сворачивание строк таблицы
Нужно свернуть строки таблицы, находящиеся ниже текущей по выбору <option> в <select>. Делаю так:
$(function () { $tr = $('select').parents('tr'); $('select').change(function (){ $('tr').not($(this).prev()).not(this).slideUp() ; }); $(':submit').click(function (event){ event.stopPropagation(); //event.preventDefault(); $('tr').slideDown() ; }) }); сворачивает абсолютно все. Что делаю не так? |
На всякий случай html такой:
<form>
<table>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
</form>
|
Цитата:
Цитата:
:(
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function ()
{
$tr = $('tr');
$('select').change(function (){
var indx = $tr.index($(this).parents('tr'));
$('tr').slice(indx+1).slideUp() ;
});
$(':submit').click(function (event){
event.stopPropagation();
//event.preventDefault();
$('tr').slideDown() ;
})
})
</script>
</head>
<body>
<form>
<table>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr><tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr></table>
</form>
</body>
</html>
|
Текущая строка та, в которой происходит change объекта <select> т.е. <option> поменялся - свернулось все что ниже этого куска:
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
и если есть что-то выше этого куска (например еще один такой же блок) его тоже свернуть. |
Не могу понять - браузер в консоли мне возвращает:
Uncaught SyntaxError: Unexpected token = хотя все знаки равно стоят где нужно. Убираю код JS из скрипта(общего) ошибка пропадает |
eFusion,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function ()
{
$tr = $('tr');
$('select').change(function (){
var indx = $tr.index($(this).parents('tr'));
$('tr').slideUp().slice(indx-1,indx+1).slideDown() ;
});
$(':submit').click(function (event){
event.stopPropagation();
//event.preventDefault();
$('tr').slideDown() ;
})
})
</script>
</head>
<body>
<form>
<table>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
</table>
</form>
</body>
</html><!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function ()
{
$tr = $('tr');
$('select').change(function (){
var indx = $tr.index($(this).parents('tr'));
$('tr').slideUp().slice(indx-1,indx+1).slideDown() ;
});
$(':submit').click(function (event){
event.stopPropagation();
//event.preventDefault();
$('tr').slideDown() ;
})
})
</script>
</head>
<body>
<form>
<table>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
</tr>
<tr>
<td><p>Текст</p></td>
<td><select class='span1' id='1' name='conn'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='2' name='tv'>
<option selected='selected'></option>
<option>Текст</option><option>Текст</option>
<option>Текст</option></select></td>
<td><p>Текст</p></td>
<td><select class='span1' id='3' name='inet'>
<option selected='selected'></option>
<option>Текст</option>
<option>Текст</option>
<option>Текст</option>
</select>
</td>
<td><button type='submit' id='continue' name='submit'>Готово</button>
</td>
</tr>
</table>
</form>
</body>
</html>
|
В очередной раз - огромное спасибо!!!:)
|
| Часовой пояс GMT +3, время: 19:00. |