Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2014, 12:48
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Как сделать replace в input div?
Всем здравствуйте. Изучаю jquery и наткнулся на одну сложность. Возможно я до этого еще не дошел или пропустил.

Я бы хотел заменять запятые в input, в котором есть div, в который и попадает значение.
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см">
<div id="inner-editor">,,,,,</div>
</input>

В div, где запятые, надо чтобы эти самые запятые менялись на точки с помощью change.

Я написал код, но он не работает:
$("input[name='ten_l']").change(function(){
$(this).val($(this).val().toString().replace(/\,/g, '.'));  
});



Последний раз редактировалось Chamus, 22.05.2014 в 12:50.
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2014, 13:07
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Див внутри строки ввода? А в <title> его запихать не хочешь?
Сперва изучи, что инпут за элемент такой и как его применяют - http://htmlbook.ru/html/input. Код не работает именно потому, что применяешь ты его неправильно.
И да - зачем ты и так строковое значение приводишь к строке?
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2014, 13:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см" />
<div id="inner-editor">,,,,,</div>

<script type="text/javascript">
  $("input[name='ten_l']").change(function() {
    $(this).next().html($(this).val().replace(/,/g, '.'));
  });
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2014, 13:17
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от Erolast Посмотреть сообщение
Див внутри строки ввода? А в <title> его запихать не хочешь?
Сперва изучи, что инпут за элемент такой и как его применяют - http://htmlbook.ru/html/input. Код не работает именно потому, что применяешь ты его неправильно.
И да - зачем ты и так строковое значение приводишь к строке?
Да, див внутри инпута. Если бы его там не было, я бы и не задавал этот вопрос. Я и так знаю, что я неправильно его применяю, раз он не работает! Эти инпуты для цифр, поэтому и преобразовываю в строку.
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2014, 13:21
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от devote Посмотреть сообщение
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см" />
<div id="inner-editor">,,,,,</div>

<script type="text/javascript">
  $("input[name='ten_l']").change(function() {
    $(this).next().html($(this).val().replace(/,/g, '.'));
  });
</script>
У меня div в инпуте, а не рядом.
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см">
    <div id="inner-editor">,,,,,</div>
</input>
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2014, 13:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Chamus
У меня div в инпуте, а не рядом.
вы так и не поняли о том что вам написал Erolast, input по своей природе не может содержать дочерних элементов. Ваш вот этот код:
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см">
    <div id="inner-editor">,,,,,</div>
</input>
браузеры преобразовывают в этот:
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см" />
<div id="inner-editor">,,,,,</div>
Сколько бы вы не пытались засунуть в input элементов, в результате они все будут лежать рядом с input, но никак не в нем.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2014, 14:28
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от devote Посмотреть сообщение
вы так и не поняли о том что вам написал Erolast, input по своей природе не может содержать дочерних элементов. Ваш вот этот код:
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см">
    <div id="inner-editor">,,,,,</div>
</input>
браузеры преобразовывают в этот:
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см" />
<div id="inner-editor">,,,,,</div>
Сколько бы вы не пытались засунуть в input элементов, в результате они все будут лежать рядом с input, но никак не в нем.
Когда я ввожу в инпут значение, оно попадает в див этого инпута, который там уже есть!
<input tabindex="12" id="613" class="r" type="text" value="" name="ten_l" placeholder="см">
    #shadow-root (user-agent)
	<div id="inner-editor">,,</div>
	<div pseudo="-webkit-input-placeholder" id="placeholder" style="visibility: hidden; text-overflow: clip;">см</div>
</input>

Я неплохо знаю верстку. Верстка форм - одно их простых для меня. Однако, у меня действительно есть див в инпуте на действующем проекте.

Последний раз редактировалось Chamus, 22.05.2014 в 15:14.
Ответить с цитированием
  #8 (permalink)  
Старый 22.05.2014, 14:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Chamus
у меня действительно есть див в инпуте на действующем проекте.
офигеть!!!
Ответить с цитированием
  #9 (permalink)  
Старый 22.05.2014, 14:40
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от рони Посмотреть сообщение
офигеть!!!
Приветствую. Да, офигеть.
Ответить с цитированием
  #10 (permalink)  
Старый 22.05.2014, 16:40
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Chamus
есть див в инпуте на действующем проекте.
А ты пробовал открыть отладчик в браузере и посмотреть сформированную структуру того что ты пишешь?

Для тебя не поленюсь скриншот выложить:
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать чтобы в popup окне показывалось картинка? sarik Общие вопросы Javascript 31 15.03.2013 13:12
filter(this,this) как правильно сделать? Smip jQuery 5 23.02.2013 03:07
div - затемнялка под div- кнопка, как сделать? webmonster2008 Общие вопросы Javascript 2 30.07.2010 17:09
Как сделать INPUT с красивым задним фоном? greatilya (X)HTML/CSS 15 26.11.2009 14:04
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55