Лучший путь к Ajax-Control Rows Rows - PullRequest
1 голос
/ 15 декабря 2009

Я хочу иметь возможность распечатать таблицу с х строк и около 10 столбцов. Тем не менее, я хочу иметь возможность выбирать строки в таблице, как если бы это было поле множественного выбора. Выбор строки таблицы приведет к тому, что в дополнительной текстовой области отобразится дополнительная информация об этой строке данных.

Какой лучший способ сделать это в AJAX?

1 Ответ

1 голос
/ 15 декабря 2009

Есть куча вещей, которые вам нужно пройти, но я дам вам представление о том, что вам нужно. Для каждой строки вы захотите прикрепить к ней прослушиватель щелчков, или вы позволите событию click всплыть на стол и перехватить его там, а затем проверить, в какой строке оно было ( вот как это делают пользователи YUI. ). В каждом HTML-элементе вы захотите иметь какой-то способ определить, какая строка была нажата. Это может быть часть идентификатора HTML или вы можете использовать другой атрибут, который вы извлекаете с помощью trElement.getAttribute('yourAttribute').

Когда у вас есть идентификатор, вы можете показать текстовую область или сделать вызов AJAX, который захватывает дополнительные данные и затем отображает текстовую область. Вы захотите определить некоторый веб-сервис, который принимает идентификатор и возвращает либо HTML-код для отображения, либо JSON-данные, которые вы можете проанализировать, а затем создать отображение самостоятельно. Зависит от того, сколько данных вы отправляете, лучше ли возвращать JSON или HTML, хотя я предпочитаю JSON. Если вы можете выбрать более одной строки, вы захотите сохранить, какие строки были нажаты где-то в JavaScript. Это так же просто, как наличие переменной, которая представляет собой набор идентификаторов, по которым щелкнули, и каждый раз, когда вы щелкаете по этой строке, вы добавляете или удаляете ее в зависимости от того, была ли она уже там. Вы также можете добавить класс к каждой выбранной строке, чтобы цвет фона или что-то изменилось при его выборе.

На высоком уровне это все, что нужно сделать, но я могу остановиться на конкретной части, если у вас есть более конкретные вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...