Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 18:12   #1
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию Скриптик для копирования филдов таблицы

Всем доброго времени суток
В общем проблема заключается в следующем: есть таблица tabkesorter-demo , мне нужно сделать так чтобы можно было выделять (я решил сделать это через один клик мышью+растягиваем сколько надо) какие надо поля(скажем все элементы последнего столбца), скопировать их и работать дальше.
Код:
<style type="text/css">

			html, body{

				margin:	0px;

			}

			table{

				-moz-user-select:	none;

				-khtml-user-select:	none;

				user-select:		none;

				width:			500px;

				height:			500px;

			}

			table, td, th{

				margin:	10px;

				border-style:	solid;

				border-color:	black;

				border-width:	1px;

			}

		</style>

<script type="text/javascript">
    var startCell = null;

    function mouseDown(table, e) {
        if (!e) var e = window.event;

        startCell = e.srcElement ? e.srcElement : e.target;
        if (startCell.tagName != "TD") {
            startCell = null;
            return;
        }
        mouseMove(table, e);
    }

    function mouseUp(table, e) {
        if (!e) var e = window.event;

        var endCell = e.srcElement ? e.srcElement : e.target;
        if (!(endCell.tagName == "TD" && startCell))
            return false;


        var from = getCellPos(table, startCell);
        var to = getCellPos(table, endCell);
        if (!from || !to)
            return false;


        startCell = null;


        alert("(" + from.col + ", " + from.row + ") -> (" + to.col + ", " + to.row + ")");
    }

    function mouseMove(table, e) {
        if (!e) var e = window.event;

        var endCell = e.srcElement ? e.srcElement : e.target;
        if (!(endCell.tagName == "TD" && startCell))
            return false;


        var from = getCellPos(table, startCell);
        var to = getCellPos(table, endCell);
        if (!from || !to)
            return false;


        var x, y, cells;
        for (y = 0; y < table.rows.length; y++) {
            row = table.rows.item(y);
            for (x = 0; x < row.cells.length; x++) {
                if ((from.row - y) * (y - to.row) >= 0 && (from.col - x) * (x - to.col) >= 0)
                    row.cells.item(x).style.backgroundColor = "#ffdddd"; 
                else
                    row.cells.item(x).style.backgroundColor = "transparent"; 
            }
        }
    }
 
    function getCellPos(table, cell) {
        var pos = new Object();
        if (cell.nodeName == "TD") {
            var x, y, cells;
            for (y = 0; y < table.rows.length; y++) {
                row = table.rows.item(y);
                for (x = 0; x < row.cells.length; x++) {
                    if (row.cells.item(x) == cell) {
                        pos.row = y;
                        pos.col = x;
                        return pos;
                    }
                }
            }
        }
        return null;
    }


		</script>

<body>


<table id="tablesorter-demo" onmousedown="mouseDown(this, event); return false;" onmouseup="mouseUp(this, event);" onmousemove="mouseMove(this, event); return true;"> 

		<thead> 

			<tr> 

				<th>Имя</th> 

				<th>Фамилия</th> 

				<th>Возраст</th> 

				<th>Всего</th> 

				<th>Скидка</th> 

				<th>Разница</th> 

				<th>Дата</th> 

			</tr> 

		</thead> 

		<tbody> 

			<tr> 

				<td>Петр</td> 

				<td>Иванов</td> 

				<td>28</td> 

				<td>$9.99</td> 

				<td>20.9%</td> 

				<td>+12.1</td> 

				<td>Jul 6, 2006 8:14 AM</td> 

			</tr> 

			<tr> 

				<td>Иван</td> 

				<td>Смирнов</td> 

				<td>33</td> 

				<td>$19.99</td> 

				<td>25%</td> 

				<td>+12</td> 

				<td>Dec 10, 2002 5:14 AM</td> 

			</tr> 

			<tr> 

				<td>Сергей</td> 

				<td>Сидоров</td> 

				<td>18</td> 

				<td>$15.89</td> 

				<td>44%</td> 

				<td>-26</td> 

				<td>Jan 12, 2003 11:14 AM</td> 

			</tr> 

			<tr> 

				<td>Михаил</td> 

				<td>Зубов</td> 

				<td>45</td> 

				<td>$153.19</td> 

				<td>44.7%</td> 

				<td>+77</td> 

				<td>Jan 18, 2001 9:12 AM</td> 

			</tr> 

			<tr> 

				<td>Михаил</td> 

				<td>Медведев</td> 

				<td>22</td> 

				<td>$13.19</td> 

				<td>11%</td> 

				<td>-100.9</td> 

				<td>Jan 18, 2007 9:12 AM</td> 

			</tr> 

		</tbody> 

	</table> 

</body>
выделяется на ура, а вот копировать нельзя((((, если у кого есть какие идеи, буду рад помощи. спасибо.

Добавлено
Мне это нужно чтобы было возможность выделения и копирования содержимого таблицы, что бы работало во всех браузерах подобно firefox(когда при зажатие Shift или Ctrl выделяешь сколько угодно полей таблицы и спокойно копируешь их), может какой скриптик есть?

Последний раз редактировалось Летучий_СкилетиК; 22.11.2011 в 15:00.
Летучий_СкилетиК вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для копирования значений из нескольких файлов в один общий с определенным условием копирования zenner Microsoft Office Excel 0 21.03.2011 14:48
скриптик для страницы с тестами askerpro JavaScript, Ajax 1 06.11.2010 21:23
макрос для копирования строк из одной таблицы в другую IRI_NA Microsoft Office Excel 9 25.01.2010 20:55
У кого есть скриптик бота для сайта знакомств Talisman PHP 15 07.01.2008 12:52