2012-05-11 2 views
1

установки:Как передать значения/переменные между вкладками?

Я использую JSPs и JQuery. Существует «родительская» страница, содержащая 3 вкладки. На вкладке 1 существует форма, в которой пользователь должен заполнять несколько полей, таких как имя, фамилия и т. Д. Пользователь заполняет форму и переходит на другие вкладки. На вкладке 3 я должен показать имя курса, которое он ввел на вкладке 1. Поэтому по существу мне нужно передавать значения между вкладками.

Проблема:

я могу получить доступ к некоторым из полей на вкладке 1 на вкладке 3, как и у меня есть выпадающий на вкладке 1:

  <div class="dropDownMenu"> 
       <select id="states"> 
        <option value="ca">CA</option> 
        <option value="ny">NY</option> 
       </select> 
      </div> 

я могу получить доступ к этому на вкладке 3 как:

alert($('#states').text()); 

Бур Я не могу получить доступ к "course_id" на вкладке 3. Вкладка 1 имеет следующее:

  <div class="myCourse"> 
       <label for="course">Course</label> 
       <input type="text" name="course_name" id="course_id" value=""/> 
      </div> 

Я хочу получить course_id на вкладке 3. Может кто-нибудь сказать мне, как это сделать? Я в значительной степени новичок в jQuery/Ajax, поэтому мне может не хватать чего-то очевидного.

+0

(оффтоп), вы должны использовать '<метку для = "course_id"> Course ' ' –

+0

Все закладки на этой странице? –

+0

@Sagivo: да, все вкладки находятся на одной странице. – Bhushan

ответ

2

Bind событие, которое на tabselect мы пишем значение course_id нашего местоположение на вкладке 3.

jsFiddle: http://jsfiddle.net/UdSUp/4/

$(function() { 
    $("#tabs").tabs(); 
}); 

$('#tabs').bind('tabsselect', function(event, ui) { 
    $("#showCourseID").text($("#course_id").val()); 
});​ 
+0

Спасибо за ответ Джонатан. Я дам ему попробовать. И я предполагаю, что этот код войдет на вкладку «родительский», верно? – Bhushan

+0

@Learner nope, просто поместите его после того, как вы объявите «.tabs();» Я отредактировал свой ответ, чтобы помочь. –

0

, если вам нужно значение только попробовать

$("#course_id").val(); 
+0

Спасибо за ответ Sagvio. Я уже пробовал это. Он возвращает пустое. – Bhushan

0

Это вы должны получить значение course_id. Значение - это то, что устанавливается полем ввода, поэтому текст не работал.

$('#course_id').val(); 
+0

Спасибо за ответ AJak. Я уже пробовал это. Он возвращает пустое. – Bhushan

+0

, если вы вызываете предупреждение ($ ('# course_id'). Length), это дает вам 1? просто убедитесь, что элемент существует, когда вы пытаетесь вызвать val() – AJak

+0

Да, он возвращает 1 – Bhushan

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