У меня есть следующий HTML:
<input type="date" name="order_date" id="order_date"/>
После обновления поля я хочу отобразить значение этого поля в обычном тексте в двух других местах на той же HTML-странице в режиме реального времени по мере обновления даты поля. Как?
JS попробовал:
<p>The date selected was <span id="place_one"></span></p>
<p>And using the date of <span id="place_two"></span></p>
$(document).ready(function(){
$("#order_date").change(function(){
$('#place_one').text($("#order_date").val());
$('#place_two').text($("#order_date").val());
});
})
-1
Dennis
28 Окт 2019 в 18:16
2 ответа
Лучший ответ
let orderDate = document.getElementById('order_date');
orderDate.addEventListener ("change", function () {
let showHeres = Array.from(document.getElementsByClassName('show_here'));
let value = this.value;
showHeres.forEach(function(showHere) {
showHere.innerText = value;
});
});
<input type="date" name="order_date" id="order_date"/>
<p>The date selected was <span class="show_here"></span></p>
<p>And using the date of <span class="show_here"></span></p>
< Сильный > EDIT : Ваше решение также работает:
$(document).ready(function(){
$("#order_date").change(function(){
$('#place_one').text($("#order_date").val());
$('#place_two').text($("#order_date").val());
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="date" name="order_date" id="order_date"/>
<p>The date selected was <span id="place_one"></span></p>
<p>And using the date of <span id="place_two"></span></p>
1
Mischa
28 Окт 2019 в 15:36
Предполагая, что вы хотите отформатировать значение, а не отображать его в виде даты Unix, вы можете отформатировать его в заданную локаль.
НАПРИМЕР:
$(function(){
$("#order_date").on("input",function(){
var $input = $(this),
val = $input.val(),
date = new Date(val),
longformat = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'};
$(".live_order_date").each(function(){
var locale = $(this).data("locale") || "en-GB",
verbose = $(this).data("verbose"),
opts = (verbose)?longformat:{};
$(this).text(date.toLocaleDateString(locale,opts));
})
});
});
span {color:#666699;
font-style:italic;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="date" name="order_date" id="order_date"/>
<p>The date selected was <span class="live_order_date" data-locale="en-GB" data-verbose="true">...</span></p>
<p>And using the date of <span class="live_order_date" data-locale="en-GB">...</span><br/>
(or <span class="live_order_date" data-locale="en-US">...</span> if you're in the US)</p>
<p>What's that? you need it in Hindi <span class="live_order_date" data-locale="hi-IN" data-verbose="true">...</span>
1
Moob
28 Окт 2019 в 15:49
Похожие вопросы
Новые вопросы
javascript
Для вопросов, касающихся программирования в ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (исключая ActionScript). Этот тег редко используется отдельно, но чаще всего ассоциируется с тегами [node.js], [jquery], [json] и [html].