#javascript #html #loops
#javascript #HTML #циклы
Вопрос:
привет, мне нужно отобразить список объектов (например. отели) на html-странице, и пользователь должен выбрать отель, затем идентификатор отеля должен быть отправлен обратно на контроллер, длина этого списка не фиксирована, пусть это будет n, поэтому я подумал о создании n переключателей, но я понял, что html не поддерживает циклы, и я не знаю, возможно ли создавать формы в javascripts
обратите внимание, что в этом приложении я использую play Framework
любая помощь, заранее спасибо
Комментарии:
1. HTML не поддерживает циклы, потому что это не язык программирования. Он не допускает условных выражений, функций, присвоения значений и т.д. Это просто для указания содержимого. Я думаю, вам было бы очень полезно освежить основы веб-разработки, чтобы вы имели четкое представление о HTML, CSS, JavaScript и языках серверной части по вашему выбору. К сожалению, я не знаком с Play Framework, поэтому я не могу предложить какую-либо помощь в этом. Могу сказать вам, что это очень простая задача в любом фреймворке, который я когда-либо использовал.
2. По-видимому, Play — это фреймворк для Java / Scala. В этом случае в вашем коде просмотра вам потребуется выполнить итерацию по списку отелей и создать входной тег для каждого из них.
Ответ №1:
Это всего лишь базовая концепция того, как выполнить итерацию по объекту и распечатать html. Не идеально, не совсем то, что вам нужно, но отправная точка.
var hotels = ['best western','hilton','super 8'];
for( var i=0; i<hotels.length; i )
{
document.write( '<input type="radio" name="hotels" id="' i '" />' hotels[i] );
} // for
Комментарии:
1. спасибо, но сработает ли это, если список ячеек передается из контроллера в представление, а не является переменной, определенной в скрипте??
2. Я не уверен, как работает ваш конкретный фреймворк, но вы, вероятно, могли бы установить переменную для вывода из представления.. Например, в Django или чем-то еще
var hotels = ${hotels};
Но это, вероятно, слишком сложно. Я уверен, что есть способ, которым вы могли бы просто распечатать список с вашего контроллера?