Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.07.2013, 18:47
Интересующийся
Отправить личное сообщение для Hisot Посмотреть профиль Найти все сообщения от Hisot
 
Регистрация: 10.07.2013
Сообщений: 16

Сообщение от animhotep Посмотреть сообщение
чёт я туплю под вечер. а зачем тебе аобще js там же всё в переменных шаблона есть
делай таблицу средствами jsp да и всё
а затем, что я не знаю как сделать так чтоб оно взяв место и ряд вставило именно на своё место картинку. У меня вот что-то в голове не складывается как подобрать условия чтоб всё получилось.
Если бы конечно вместо пустых мест к примеру стоят 0, то было бы проще, но опять же как отловить это в коллекции и вставить на нужные места 0, тоже не очень получается придумать=(
Ответить с цитированием
  #12 (permalink)  
Старый 10.07.2013, 18:54
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

делаешь 2 цикла по рядам и по местам
при выводе ячейки проверяешь занята ли она, у тебя есть номер ряда и номер места для этого
Ответить с цитированием
  #13 (permalink)  
Старый 10.07.2013, 19:05
Интересующийся
Отправить личное сообщение для Hisot Посмотреть профиль Найти все сообщения от Hisot
 
Регистрация: 10.07.2013
Сообщений: 16

Сообщение от animhotep Посмотреть сообщение
делаешь 2 цикла по рядам и по местам
при выводе ячейки проверяешь занята ли она, у тебя есть номер ряда и номер места для этого
Два цикла нужны для прорисовки всех ячеек, но нужен ещё цикл чтоб проходить по коллекции, а если его добавлять, то таблица будет вылазить за пределы картинки тк слишком много циклов.
И я хз какое условие вставить чтоб он поставило картинку, мол место занято.
Вот примерно как это всё должно выглядеть, но в итоге если такое запустить, то получится как на картинке ниже. Хотя последнее место в первом ряду должно находится на месте №7, а не №5
<TABLE>
	<tbody>
		<c:forEach var="r" begin="1" end="7">
			<TR>
				<c:forEach var="p" begin="1" end="10">
					<c:forEach var="places" items="${places}">
						<c:if test="${places.place==p and places.row==r}">
							<TD>${cancel}</TD>
						</c:if>
					</c:forEach>
				</c:forEach>
			</TR>	
		</c:forEach>
	</tbody>
</TABLE>


Вот почти правильный цикл, но он оно отрабатывает больше чем надо=( и поэтому всё получается криво=(
<TABLE>
	<tbody>
		<c:forEach var="r" begin="1" end="7">
			<TR>
				<c:forEach var="p" begin="1" end="10">
					<c:forEach var="places" items="${places}">
						<c:choose>
							<c:when test="${places.place==p and places.row==r}">
								<TD>${cancel}</TD>
							</c:when>
							<c:otherwise>
								<TD>${free}</TD>
							</c:otherwise>
						</c:choose>
					</c:forEach>
				</c:forEach>
			</TR>
		</c:forEach>
	</tbody>
</TABLE>
Изображения:
Тип файла: jpg Снимок.jpg (12.1 Кб, 7 просмотров)

Последний раз редактировалось Hisot, 10.07.2013 в 19:54.
Ответить с цитированием
  #14 (permalink)  
Старый 10.07.2013, 22:11
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

один цикл должен быть по строкам (tr), внутри него второй цикл по ячейкам (td), любой другой цикл не должен добавлять не лишних td, не лишних tr

Последний раз редактировалось bes, 10.07.2013 в 22:15.
Ответить с цитированием
  #15 (permalink)  
Старый 10.07.2013, 23:05
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

ладно, не мучайся, если не понял, о чём я: <td> должен быть непосредственно во втором по вложенности цикле, а само содержимое этого td выводиться в третьем по вложенности цикле

Последний раз редактировалось bes, 10.07.2013 в 23:08.
Ответить с цитированием
  #16 (permalink)  
Старый 11.07.2013, 02:24
Интересующийся
Отправить личное сообщение для Hisot Посмотреть профиль Найти все сообщения от Hisot
 
Регистрация: 10.07.2013
Сообщений: 16

Спасибо всем, кто откликнулся и помог! Реализовал таки это штуку.

Теперь на повестке дня у меня другой вопрос. Как сделать так, что выбирая свободные места в зале, по нажатию на них, брался ряд и место?
В данный момент я реализовал только по нажатию смену картинки.

Подтолкните в какую сторону развивать идею, чтоб оно взяло значения [3,6] [3,7] [4,6] [4,7]. Потом эти значения надо будет передать в сервлет.

Последний раз редактировалось Hisot, 11.07.2013 в 02:52.
Ответить с цитированием
  #17 (permalink)  
Старый 11.07.2013, 13:35
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

индексы можно взять
http://www.w3schools.com/jsref/prop_..._cellindex.asp
http://www.w3schools.com/jsref/prop_...w_rowindex.asp
Ответить с цитированием
  #18 (permalink)  
Старый 11.07.2013, 19:06
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Hisot
Как сделать так, что выбирая свободные места в зале, по нажатию на них, брался ряд и место?
В данный момент я реализовал только по нажатию смену картинки.
а как ты сейчас меняешь картинку?
вдобавок к посту animhotep, гугли event.target, тема заезженная
Ответить с цитированием
  #19 (permalink)  
Старый 11.07.2013, 20:38
Интересующийся
Отправить личное сообщение для Hisot Посмотреть профиль Найти все сообщения от Hisot
 
Регистрация: 10.07.2013
Сообщений: 16

Сообщение от animhotep Посмотреть сообщение
индексы можно взять
http://www.w3schools.com/jsref/prop_..._cellindex.asp
http://www.w3schools.com/jsref/prop_...w_rowindex.asp
Спасибо за наводку=)
Сообщение от bes Посмотреть сообщение
а как ты сейчас меняешь картинку?
вдобавок к посту animhotep, гугли event.target, тема заезженная
Оке, гляну сейчас=)
В данный момент смена происходит по этому скрипту:
<script>
	var x=false;
	function imgchange(obj,imgX,imgY) {
   		if  (x){
  			obj.src=imgX;
   		} else {
   			obj.src=imgY;
   		}
  		x=!x;
 	}
</script>

Но приходится почему-то нажимать не 1 раз, а 2 если выбираю другую картинку. По одной картинке всё нормально делает.
Сейчас почитаю про event.target и буду думать как реализовать чтоб при выборе места создавало какое-либо скрытое поле и туда записывало ряд и место, а при снятии выделения убирало эту строку.
Ответить с цитированием
  #20 (permalink)  
Старый 11.07.2013, 21:43
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Hisot
а при снятии выделения убирало эту строку.
выделение наверное будешь оформлять каким-либо классом, тогда при отправке данных лучше просто взять данные из ячеек с этим классом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение таблицы на JavaScript freeze123 Opera, Safari и др. 4 08.04.2013 09:42
заполнение comboBox из sql таблицы ynijar ExtJS 2 18.02.2013 22:47
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Заполнение таблицы с помощью AJAX x][x AJAX и COMET 11 08.05.2009 19:58
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35