Перенос активных checkbox.
Здравствуйте:help: . Прошу помощи уважаемые гуру javascript'а. :( Задание:
Сотрудники в обоих списках отсортированы по алфавиту. При выборе сотрудника из левого списка, он перемещается в правый. При снятии галочки, снова в левый. Все перемещения осуществляются с сохранением сортировки по алфавиту. Сотрудника можно выбрать как установкой галочки, так и по клику по ФИО сотрудника. ![]() Молю о помощи, спасите!:help: |
alshinkareff,
а где ваши попытки сделать хоть что-то? html хотябы |
Просто я не знаю как сделать лучше, т.е. грамотней. Можно же сделать таблицами, можно DIV'ами. Я не знаю как практичней сделать для взаимодействия с JS. Такой уж я нуб в JS. :( Надежда на Вас...
<html> <head> <meta charset="utf-8"> <title>Checkbox + JS</title> </head> <body> <div> <font size="12px"><b>Список сотрудников</b></font> </div> <div style="float: left; margin-right: 50px;"> <p><b>Сотрудники</b></p> <table style="width: 270px; height: 350px; border: 1px solid gray;"> <tr> <td> <input type="checkbox"> Иванов Иван </td> </tr> <tr> <td> <input type="checkbox"> Петров Петр </td> </tr> <tr> <td> <input type="checkbox"> Зеленый Вениамин </td> </tr> <tr> <td> <input type="checkbox"> Гербулов Иван </td> </tr> <tr> <td> <input type="checkbox"> Осипова Анна </td> </tr> <tr> <td> <input type="checkbox"> Мелкумянц Алексей </td> </tr> <tr> <td> <input type="checkbox"> Черный Алексей </td> </tr> <tr> <td> <input type="checkbox"> Король Иван </td> </tr> <tr> <td> <input type="checkbox"> Сидоров Денис </td> </tr> </table> </div> <div> <p><b>Выбранные сотрудники</b></p> <table style="width: 270px; height: 350px; border: 1px solid gray;"> <tr> </tr> </table> </div> </body> </html> |
alshinkareff,
:cray: но это врятли вас спасёт ... :write:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Checkbox + jquery</title>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
</script>
<script type="text/javascript">
$(function () {
var Tr = jQuery.makeArray($('tr'));
Tr.sort(function f(a, b) {
a = $(a).text();
b = $(b).text();
var c = 0
if (a > b) c = 1;
if (a < b) c = -1;
return c
});
var first = $('table:first');
var last = $('table:last');
$.map(Tr, function (tr) {
$(tr).click(function (event) {
var checkbox = $(':checkbox', $(tr));
var checked = checkbox.prop("checked");
if(event.target.nodeName != 'INPUT') checkbox.prop("checked", !checked)
$.map(Tr, function (tr) {
var checkbox = $(':checkbox', $(tr));
var checked = checkbox.prop("checked");
$(tr).appendTo(checked? last : first)
});
});
});
$(Tr[0]).click().click()
});
</script>
</head>
<body>
<div>
<font size="12px"><strong>Список сотрудников</strong></font>
</div>
<div style="float: left; margin-right: 50px;">
<p><strong>Сотрудники</strong></p>
<table style="width: 270px; height: 350px; border: 1px solid gray;">
<tr>
<td><input type="checkbox"> Иванов Иван</td>
</tr>
<tr>
<td><input type="checkbox"> Петров Петр</td>
</tr>
<tr>
<td><input type="checkbox"> Зеленый Вениамин</td>
</tr>
<tr>
<td><input type="checkbox"> Гербулов Иван</td>
</tr>
<tr>
<td><input type="checkbox"> Осипова Анна</td>
</tr>
<tr>
<td><input type="checkbox"> Мелкумянц Алексей</td>
</tr>
<tr>
<td><input type="checkbox"> Черный Алексей</td>
</tr>
<tr>
<td><input type="checkbox"> Король Иван</td>
</tr>
<tr>
<td><input type="checkbox"> Сидоров Денис</td>
</tr>
</table>
</div>
<div>
<p><strong>Выбранные сотрудники</strong></p>
<table style="width: 270px; height: 350px; border: 1px solid gray;"></table>
</div>
</body>
</html>
|
:thanks: Вы не представляете как мне помогли. :dance: Спасибо:)
|
| Часовой пояс GMT +3, время: 10:16. |