2015-09-29 3 views
2

Мне нужно пройти через div и получить даты из всех полей ввода внутри div. Поля ввода - это поля ввода JQuery Mobile DateBox.Как получить даты из Jquery Mobile Поле ввода ввода для ввода данных в цикле a div

Я клонирую div, содержащий поле ввода JQuery Mobile DateBox и добавляя к другому основному div. То же самое может произойти несколько раз в зависимости от необходимости. После установки дат в полях я ищу способ получить заданную дату в поле ввода JQuery Mobile DateBox.

Мой вход поле,

Я клонированы и усиливается следующим образом,

var dayTimePicker = $("#time-picker-template").clone() 

$("#time-picker-block").append(dayTimePicker).enhanceWithin(); 

Я не дал идентификатор в поле ввода, так как я буду клонировать и повторное использование то же самое несколько раз.

Я хочу получить время/дату, заданное в поле. Я пробовал зацикливать div, но не смог. Мои испытания:

var dayDiv = $("#time-picker-block"); 

    $(dayDiv).find('input:text').each(function() { 

    alert($(this).val()); 

}); 

$('#time-picker-block').children('input').each(function() { 

    alert(this.value); // "this" is the current element in the loop 

}); 

$('#time-picker-block').each(function (index, element) { 

    $(element).datebox('getTheDate'); 

}); 

Может ли кто-нибудь помочь мне решить эту проблему для меня.

+0

Я вроде понимаю, что вы пытаетесь сделать, но если бы вы могли сделать JsFiddle с предустановленным примером кода, это было бы полезно. В противном случае укажите больше кода, чтобы мы могли создать рабочий пример. – rockmandew

ответ

0

В шаблоне присвойте общий класс всем входам DateBox (например, по времени). Затем, когда вы хотите, чтобы получить все даты, вы можете использовать метод каждый() на всех входах, которые имеют, что стекло и использовать метод DateBox getTheDate:

$('#time-picker-block .time-input').each(function (index, element) { 
    alert($(element).datebox('getTheDate')); 
}); 

DEMO

+0

Это работает как шарм. Но мой сборщик времени возвращает «Пн Янв 01 1900 15:09:00 GMT + 0530 (стандартное время Индии)». Как я могу получить время в одиночку, если я использую «режим»: «timebox». Есть что-нибудь вроде $ (element) .datebox ('getTheTime')? – Joseph

+0

@Joseph, он возвращает объект даты javascript. http://www.w3schools.com/jsref/jsref_obj_date.asp вы можете использовать различные встроенные функции для извлечения времени. Вы также можете посмотреть на moment.js, что упрощает работу с датами и временем. – ezanker

+0

Вы правы. Я понял. Но есть проблема. Если бы было сказано, что 5 полей ввода и два были заполнены, то при получении с помощью «$ (element) .datebox ('getTheDate')« он получает последнюю выбранную дату во всех полях ввода. Можете ли вы помочь мне узнать, как получить точную дату, введенную в поля ввода? Будет ли он возвращать пустой объект, если дата не выбрана? – Joseph

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