Форум → Программирование → JavaScript → php таблицы + JavaScript
php таблицы + JavaScript
Страницы: ← Следующая страница →
-
Здравствуйте уважаемые эксперты!
Столкнулся со следующей задачей.
Необходимо создать таблицу вида:
[table border=1]
[tr][td]Номер вопроса[/td] [td]Пользователи[/td] [td]Сумма[/td] [td]Вывод[/td][/tr]
[/table]
Перед загрузкой таблицы, идет выбор количества Пользователей. Осуществил на пхп методом передачи POST. Идет загрузка таблицы. Например выбрал 3 пользователя. Получил таблицу след вида.
[table border=1]
[tr][td]Номер вопроса[/td] [td]Пользователь1[/td] [td]Пользователь2[/td] [td]Пользователь3[/td] [td]Сумма[/td] [td]Вывод[/td][/tr]
[/table]
А теперь самое главное, сам вопрос. Нужно добавить скрипт(я думаю это должен быть javascript), по нажатию на кнопку Добавить вопрос, добавлялось бы строка к таблице, где в каждое поле Пользователей Юзер вводит оценки. Например вот так:
[table border=1]
[tr][td]Номер вопроса[/td] [td]Пользователь1[/td] [td]Пользователь2[/td] [td]Пользователь3[/td] [td]Сумма[/td] [td]Вывод[/td][/tr]
[tr][td]1[/td] [td]<input type=text>[/td] [td]<input type=text>[/td] [td]<input type=text>[/td] [td]Сумма[/td] [td]Вывод[/td] [/tr]
[/table]
[table border=1][tr][td]Добавить вопрос[/td][td]Удалить вопрос[/td][/tr][/table]
Сумма оценок считается в ячейке Сумма и т.д. Ну и кнопочку удалить вопрос.
Сложность для меня в том, что к сожалению, javascript я только начал изучать. С php то проблем вроде нет.
Буду рад любым советам, решениям, помощи, спасибо!
P.S. В итоге получаем что то типа вот такой таблицы:
[table border=1]
[tr][td]Номер вопроса[/td] [td]Пользователь1[/td] [td]Пользователь2[/td] [td]Пользователь3[/td] [td]Сумма[/td] [td]Вывод[/td][/tr]
[tr][td]1[/td] [td]1[/td] [td]2[/td] [td]3[/td] [td]6[/td] [td]Плохо[/td] [/tr]
[tr][td]2[/td] [td]10[/td] [td]10[/td] [td]9[/td] [td]29[/td] [td]Отлично[/td] [/tr]
[/table]
[table border=1][tr][td]Добавить вопрос[/td][td]Удалить вопрос[/td][/tr][/table] -
20 января 2009 г. 12:27, спустя 1 час 3 минуты
1. Ведешь счётчик полей. К примеруvar tr_count = 1;
2. Подключаешь желательно JQuery
3. при нажатии на "Добавить вопрос" делаешь так$("#tr_"+tr_count).after( "<tr id='tr_"+tr_count+"'><td><input type=text></td><td>…………</td></tr>");
4. Для удаления, надо заоминать какой tr выделен, а потом $("#tr_"+tr_current).remove()
Так понятно? или готовый скрипт хотел видеть? :) -
20 января 2009 г. 13:26, спустя 58 минут 11 секунд
1. Ведешь счётчик полей. К примеруvar tr_count = 1;
2. Подключаешь желательно JQuery
3. при нажатии на "Добавить вопрос" делаешь так$("#tr_"+tr_count).after( "<tr id='tr_"+tr_count+"'><td><input type=text></td><td>…………</td></tr>");
4. Для удаления, надо заоминать какой tr выделен, а потом $("#tr_"+tr_current).remove()
Так понятно? или готовый скрипт хотел видеть? :)
Буду разбираться с javacript) Спасибо за примерный алгоритм)
Но как быть с количеством ячеек пользователи? Данная величина меняется -
20 января 2009 г. 13:41, спустя 15 минут 40 секунд
Меняеться при загрузке страницы или без перезагрузки?
1. Ведешь счётчик полей. К примеруvar tr_count = 1;
2. Подключаешь желательно JQuery
3. при нажатии на "Добавить вопрос" делаешь так$("#tr_"+tr_count).after( "<tr id='tr_"+tr_count+"'><td><input type=text></td><td>…………</td></tr>");
4. Для удаления, надо заоминать какой tr выделен, а потом $("#tr_"+tr_current).remove()
Так понятно? или готовый скрипт хотел видеть? :)
Буду разбираться с javacript) Спасибо за примерный алгоритм)
Но как быть с количеством ячеек пользователи? Данная величина меняется -
20 января 2009 г. 13:45, спустя 3 минуты 41 секунду
В начале вроде писал, что есть php файл. Выбираем кол-во. Грузиться другой пхп файл, которому передается значение POST(кол-ва) и тем самым таблица меняется.
<form method="POST">
<label for="exp">Выберите количество вопросов:</label>
<br>
<input id="exp" name="exp" type="text" value=<?php echo '"'.$_POST['exp'].'"';?> />
<input type="submit" value="Выбрать">
</form> -
20 января 2009 г. 14:06, спустя 21 минуту 12 секунд
ну и ппц в чём тут проблема?<table>
<tr>
<th>Номер вопроса</th>
<?php $_POST['exp'] = 10;
if(array_key_exists("exp" , $_POST)){
$exp = $_POST['exp'];
} else {
$exp = 1;
}
if(intval($_POST['exp']) < 1){
$exp = 1;
}
for($i=0; $i<$exp;$i++){
?>
<th>Пользователь <?=($i+1); ?></th>
<?php
}
?>
</tr>
</table> -
-
20 января 2009 г. 14:17, спустя 9 минут 21 секунду
вот тебе шапка
Мы друг друга не поняли. Все что на пхп, я сделал, и это тоже.
Я имел ввиду как прописать в javascrupt'е данное решение? Ведь добавляться должно столько <td><input type=text……><td> сколько юзер задаст пользователей. Вот, теперь надеюсь, вы меня поняли) -
20 января 2009 г. 14:18, спустя 1 минуту 31 секунду
тоесть без перезагрузки страницы в ширину?
вот тебе шапка
Мы друг друга не поняли. Все что на пхп, я сделал, и это тоже.
Я имел ввиду как прописать в javascrupt'е данное решение? Ведь добавляться должно столько <td><input type=text……><td> сколько юзер задаст пользователей. Вот, теперь надеюсь, вы меня поняли) -
20 января 2009 г. 14:19, спустя 43 секунды
Тоесть грубо говоря: Выбрал 3 пользователя. На тебе таблица с тремя пользователями. Далее нажал Добавить, на тебе строка ниже с инпутами под пользователями. -
20 января 2009 г. 14:23, спустя 4 минуты 2 секунды
По шагам, еще раз, может я не правильно объяснил, извините.
1) Файл choose.php
Выберите кол-во пользователей. Ниже инпут. Вводим 3.
2) Грузиться файл table.php
Таблица с 3-мя пользователями. (см. первое сообщение)
3) Нажимаем добавить
Появляется строка под заглавиями(см. первое сообщение)
Без перезагрузки страницы или с ней, наверное без разницы. -
20 января 2009 г. 14:23, спустя 9 секунд
Если да то:
1. У тебя есть параметр tr_count - это максимальный айдишник tr-a
2. Держи такой-же и для td-щек и нумеруй скажем "td_"+tr_count+"_"+td_count
3. Элементрарным перебором вычисляешь последний существующий id-шник tr-а(последний может быть удалён)
4. Элементрарным перебором вычисляешь последний существующий id-шник td в вычесленом tr-е(последний может быть удалён)
5. Циклом от 0-я до tr_count перебираешь tr-ы и если он существует делаешь к "td_"+tr_id+"_"+(значение из пп4).after("<td>some text</td>"); -
20 января 2009 г. 14:26, спустя 2 минуты 39 секунд
Блин - ну я в шоке - зачем это?<table>
<tr>
<th>Номер вопроса</th>
<?php $_POST['exp'] = 10;
if(array_key_exists("exp" , $_POST)){
$exp = $_POST['exp'];
} else {
$exp = 1;
}
if(intval($_POST['exp']) < 1){
$exp = 1;
}
for($i=0; $i<$exp;$i++){
?>
<th>Пользователь <?=($i+1); ?></th>
<?php
}
?>
</tr>
</table>
Тут шапка. Далее - если тебя смущает как js-ом выплюнуть определённое кол-во td-шек, то опять же выплюнь пхп-ой
var td_count = <?=$exp ?>;
а в js-е , когда добавляешь строку, просто скалеивай то количетво td-шек, которое определено в td_count -
20 января 2009 г. 14:28, спустя 2 минуты 13 секунд
1. Ведешь счётчик полей. К примеруvar tr_count = 1;
2. Подключаешь желательно JQuery
3. при нажатии на "Добавить вопрос" делаешь так$("#tr_"+tr_count).after( "<tr id='tr_"+tr_count+"'><td><input type=text></td><td>…………</td></tr>");
4. Для удаления, надо заоминать какой tr выделен, а потом $("#tr_"+tr_current).remove()
Так понятно? или готовый скрипт хотел видеть? :)
3. при нажатии на "Добавить вопрос" делаешь так
text_html = "<tr id='tr_"+tr_count+"'>";
for(i=0;i<td_count;i++){
text_html += "<input type=text></td>";
}
text_html .= "</tr>";
$("#tr_"+tr_count).after( text_html); -
20 января 2009 г. 14:30, спустя 1 минуту 56 секунд
Ок, изучаю javascript дальше.))
Спасибо за ответ, буду пробовать.
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!