gpt4 book ai didi

javascript - 转换表单框中的值

转载 作者:行者123 更新时间:2023-12-03 09:11:09 25 4
gpt4 key购买 nike

我对它的工作原理有点困惑。当 slider 处于事件状态时,我试图将输入框中的秒值转换为“hh:mm:ss”。

此处 div 显示开始时间和结束时间(以秒为单位)。并在滑动时进行调整

    <div class='slider-example col-xs-12 col-sm-6 col-lg-5 center-block'>
<div class="well">

<input id="ex2" type="text" class="span2" value="[{{ start_length }},{{ end_length }}]" data-slider-min="{{ start_length }}" data-slider-max="{{ end_length }}" data-slider-step="1" data-slider-value="[{{ start_length }},{{ end_length }}]" data-slider-selection="after" data-slider-tooltip="hide"/>
</div> <!-- /well -->
</div> <!-- /slider example -->
<div class = "container col-xs-12 col-sm-6 col-lg-5 center-block">
<form class="form-inline">
<div class = "container col-xs-4">
<div class="form-group">

<label for="bar">Start:</label>
<input type="text" class="form-control" id="bar">

</div>
</div>
<div class = "container col-xs-4 pull-right">
<div class="form-group">

<label for="bar1">End: </label>
<input type="text" class="form-control" id="bar1">

</div>
</div>

</form>
</div>

这是我的 JavaScript

<script type='text/javascript' src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type='text/javascript' src="{{url_for('static', filename='js/bootstrap-slider.js')}}"></script>
<script type='text/javascript'>

function secondsTimeSpanToHMS(s) {
var h = Math.floor(s/3600);
s -= h*3600;
var m = Math.floor(s/60);
s -= m*60;
return h+":"+(m < 10 ? '0'+m : m)+":"+(s < 10 ? '0'+s : s);
}

$(document).ready(function(){

/* Example 2 */
$("#ex2").slider({});
$("#ex2").on('slide', function (ev) {
$('#bar').val(ev.value.slice(",")[0]);
$('#bar1').val(ev.value.slice(",")[1]);
document.getElementById('#bar').innerHTML = secondsTimeSpanToHMS('#bar');
document.getElementById('#bar1').innerHTML = secondsTimeSpanToHMS('#bar1');
});

});

</script>

最佳答案

我怀疑它正在做你想要做的事情,但这就是它试图做的事情

 $("#ex2").on('slide', function (ev) {

滑动范围 handle 时会触发滑动事件,并返回一个包含每个 handle 值的 2 元素数组

         $('#bar').val(ev.value.slice(",")[0]);
$('#bar1').val(ev.value.slice(",")[1]);

这是尝试将 id bar 和 bar1 的元素的值设置为范围句柄值 - 如果 bar 和 bar1 是表单元素(如文本框、文本区域...),这将起作用

         document.getElementById('#bar').innerHTML = ...              
document.getElementById('#bar1').innerHTML = ...

尝试设置id为#bar和#bar1的元素的innerHTML - 但是由于您使用的是document.getElementById,因此您应该使用bar和bar1加上 # 前缀(就像对 jQuery 所做的那样)。

         ... = secondsTimeSpanToHMS('#bar');
... = secondsTimeSpanToHMS('#bar1');

我假设上面是使用范围句柄值运行函数的尝试,但代码错误地将 jQuery 选择器传递给这些函数 - 该函数需要以秒为单位的值。

最后,secondsTimeSpanToHMS 获取秒值并将其转换为小时:分钟:秒

<小时/>

下面的内容可能更接近您正在寻找的内容

$(document).ready(function () {
/* Example 2 */
$("#ex2").slider({});
$("#ex2").on('slide', function (ev) {
$('#bar').val(secondsTimeSpanToHMS(ev.value.slice(",")[0]));
$('#bar1').val(secondsTimeSpanToHMS(ev.value.slice(",")[1]));
});
});

或者,您可以将另一个 2 元素的innerHTML 设置为secondsTimeSpanToHMS 的输出,并保留原始函数中的.val() 行。

关于javascript - 转换表单框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32069396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com