2011-07-11 4 views
0

У меня есть форма регистра, в которой я хочу, когда пользователь выбирает элемент из первого. Выберите, чтобы динамически создать второй выбор с элементами из базы данных, которые совместимы с первым выбором. Например, у меня есть 2 выбора. Перечисляет первое с уроками, а второе - с профессорами. Когда я выбираю из первого. Выберите урок. В Second Select Lists должны быть только профессора этого урока. Я использую jsp, java, и я хочу избежать ajax, возможно ли это? Спасибо!Создание Javascript и создание динамической формы

+0

Да, это очень возможно, но с чем вы хотите помочь? Покажите нам, где в коде вы застряли, а затем вы можете получить более полезные ответы. http://stackoverflow.com/faq#howtoask – mrk

+2

Почему вы хотите избежать ajax? Это идеально подходит для этой ситуации. – Dexter

+1

Если это вызвано простым незнанием, я бы предложил пройти через примеры запуска JSP + Ajax + Servlet, чтобы вы могли поиграть с ним и, наконец, получить просветленный: http: // stackoverflow.com/questions/4112686/how-to-use-servlets-and-ajax – BalusC

ответ

2

Да, это возможно.

Однако без AJAX вам придется загрузить все данные со страницы. Это означает сохранение списка профессоров, связанных с каждым уроком, в массиве Javascript или в скрытом элементе HTML, из которого вы можете получить данные позже.

+1

Спасибо, я хотел избежать этого .... Я думал о объединении ajax с JSON в качестве окончательного решения или что-то в этом роде. – nikosdi

1

Вы можете избежать Аякса с помощью одного из этих решений:

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

Оба варианта требуют JavaScript, и я действительно не понимаю, что вы получаете, не используя AJAX. Вы можете полностью отказаться от JavaSCript со вторым решением, но пользователю нужно будет нажать кнопку отправки, чтобы загрузить вторую форму.

1

Да, это возможно,

создать два полей выбора с профессором и уроки списка и скрыть их по умолчанию. Таким образом, присоедините событие «onchange» в вашем первом поле выбора, когда профессора будут отображать список шоу с профессорами, когда «Уроки» будут отображать список с уроками и скрывать профессоров. например

<select id="cbOne" onchange="show(this);"> 
<option value="0">Select</option> 
<option value="1">Professors</option> 
<option value="2">Lessons</option> 
</select> 

<select id="cbLessons" style="display: none;"> 
... your list 
</select> 
<select id="cbProfessors" style="display: none;"> 
... your list 
</select> 

Это метод JavaScript показать

<script language="javascript"> 

    function show(el) 
    { 
     var professors = document.getElementById('cbProfessors'); 
     var lesssons = document.getElementById('cbLessons'); 
     if(el.value == "0") 
     { 
     professors.style.display = 'none'; 
     lessons.style.display = 'none'; 
    } 
     else if(el.value == "1") 
     { 
     professors.style.display = ''; 
     lessons.style.display = 'none'; 
     } 
     else if(el.value == "2") 
     { 
     professors.style.display = 'none'; 
     lessons.style.display = ''; 
     } 
    } 

</script> 

Я надеюсь, что это поможет вам.

Смежные вопросы