22.05.2014, 12:48
|
Интересующийся
|
|
Регистрация: 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.
|
|
22.05.2014, 13:07
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Див внутри строки ввода? А в <title> его запихать не хочешь?
Сперва изучи, что инпут за элемент такой и как его применяют - http://htmlbook.ru/html/input. Код не работает именно потому, что применяешь ты его неправильно.
И да - зачем ты и так строковое значение приводишь к строке?
|
|
22.05.2014, 13:09
|
что-то знаю
|
|
Регистрация: 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>
|
|
22.05.2014, 13:17
|
Интересующийся
|
|
Регистрация: 21.04.2014
Сообщений: 25
|
|
Сообщение от Erolast
|
Див внутри строки ввода? А в <title> его запихать не хочешь?
Сперва изучи, что инпут за элемент такой и как его применяют - http://htmlbook.ru/html/input. Код не работает именно потому, что применяешь ты его неправильно.
И да - зачем ты и так строковое значение приводишь к строке?
|
Да, див внутри инпута. Если бы его там не было, я бы и не задавал этот вопрос. Я и так знаю, что я неправильно его применяю, раз он не работает! Эти инпуты для цифр, поэтому и преобразовываю в строку.
|
|
22.05.2014, 13:21
|
Интересующийся
|
|
Регистрация: 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>
|
|
22.05.2014, 13:43
|
что-то знаю
|
|
Регистрация: 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, но никак не в нем.
|
|
22.05.2014, 14:28
|
Интересующийся
|
|
Регистрация: 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.
|
|
22.05.2014, 14:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от Chamus
|
у меня действительно есть див в инпуте на действующем проекте.
|
офигеть!!!
|
|
22.05.2014, 14:40
|
Интересующийся
|
|
Регистрация: 21.04.2014
Сообщений: 25
|
|
Сообщение от рони
|
офигеть!!!
|
Приветствую. Да, офигеть.
|
|
22.05.2014, 16:40
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Chamus
|
есть див в инпуте на действующем проекте.
|
А ты пробовал открыть отладчик в браузере и посмотреть сформированную структуру того что ты пишешь?
Для тебя не поленюсь скриншот выложить:
|
|
|
|