Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2014, 13:34
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

replace не функция для строки?
Есть jquery плагин http://trentrichardson.com/examples/timepicker/
Его пытаюсь настроить

$('.hasDatetime').timepicker({
	timeFormat: $(this).attr('data-format')
});

html-инпут
<input id="form_length" class="span6 hasDatetime hasDatepicker" type="text" data-format="HH:mm:ss" aria-required="true" required="" value="01:44:00" name="form[length]">


Но получаю ошибку "Error: TypeError: timeFormat.replace is not a function".
Ошибка в следующем:
(timeFormat.replace(/\'.*?\'/g, '').indexOf('Z') !== -1)
и далее по тексту плагина есть ещё несколько таких обработок.

PS!
var time_format = function(obj){
	return $(obj).attr('data-format');
}

$('.hasDatetime').timepicker({
	timeFormat: time_format
});

В таком варианте та же самая ошибка.

Как ему передать параметр-то?
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2014, 14:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Viper,
вариант ...
$('.hasDatetime').timepicker({
    timeFormat: $('.hasDatetime').data('format')
});
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2014, 15:52
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Вообще непонятно зачем вы через класс обращаетесь когда у вас есть ид
<input id="form_length" class="span6 hasDatetime hasDatepicker" type="text" data-format="HH:mm:ss" aria-required="true" required="" value="01:44:00" name="form[length]">
    <script>
alert(form_length.getAttribute("data-format"));
    </script>
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2014, 16:04
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от Viper
Ошибка в следующем:
(timeFormat.replace(/\'.*?\'/g, '').indexOf('Z') !== -1)
а чему равно typeof timeFormat ?

Сообщение от Viper
var time_format = function(obj){
    return $(obj).attr('data-format');
}
 
$('.hasDatetime').timepicker({
    timeFormat: time_format
});
В таком варианте та же самая ошибка.
ну здесь-то понятно - timeFormat это функция, у нее нет метода replace
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2014, 16:38
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

рони,
не помогло. Если инпутов несколько, то срабатывает только на первом, на остальных значение по нулям.
Если заменить класс на this, то в результате значение будет взято только с последнего обработанного инпута и применено к всем.

Poznakomlus,
инпут не один, а несколько.

Яростный Меч,
string.

В самом плагине она объявлена как
var Timepicker = function () {
	this.regional = [];
	this.regional[''] = {
		timeFormat: 'HH:mm',
		...
	};
}
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2014, 16:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Viper
Если инпутов несколько,
нет проблем ...
<!DOCTYPE HTML>

<html>

<head>
  <base href="http://trentrichardson.com/examples/timepicker/" />
  <title>Untitled</title>
  <meta charset="utf-8">
		<link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
		<link rel="stylesheet" media="all" type="text/css" href="jquery-ui-timepicker-addon.css" />
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
		<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
		<script type="text/javascript" src="jquery-ui-timepicker-addon.js"></script>
		<script type="text/javascript" src="jquery-ui-sliderAccess.js"></script>
        <script>
      $(function () {
       $('.hasDatetime').each(function (i, el) {
           $(el).timepicker({
               timeFormat: $(el).data('format')
           })
       })
   })
       </script>

</head>

<body>
<input  class="span6 hasDatetime" type="text" data-format="HH:mm:ss" aria-required="true" required="" value="01:44:00" name="form[length]">
<input  class="span6 hasDatetime" type="text" data-format="HH:mm" aria-required="true" required="" value="01:44:00" name="form[length]">
<input  class="span6 hasDatetime" type="text" data-format="HH" aria-required="true" required="" value="01:44:00" name="form[length]">
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2014, 16:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Viper
$(this).attr('data-format')
Почему ты думаешь что this указывает на элемент .hasDatetime? Из чего это должно следовать? Тем более предположение бредовое если класс hasDatetime имеют несколько элементов.

Используй .each(). Вместо attr('data-format') пиши data('format'), как предложил рони.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2014, 17:13
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Viper,
если в Timepicker передается элемент, то здесь же и получаете значение атрибутов этого элемента. Из приведенного когда Timepicker не понятно (не видно) где и как вы обрабатываете переданный аргумент timeFormat
и заметьте Timepicker и timepicker
<script>
      a = function(){return 1;}
      A = function(){return 2;}
      alert(a());
      alert(A());
    </script>

Последний раз редактировалось Vlasenko Fedor, 24.01.2014 в 17:16.
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2014, 19:32
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

рони,
что-то я совсем забыл про цикл

Всем спасибо за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Своя Функция для модуля Доставки (pickpoint.ru) jekjuk Общие вопросы Javascript 0 19.05.2011 16:32
Универсальная функция для формы Nightmare Общие вопросы Javascript 5 16.04.2010 18:42