Javascript onchange不会多次更改

时间:2017-04-21 22:03:45

标签: javascript jquery function onclick pickadate

我正在使用名为pickadate / pickatime的库。 http://amsul.ca/pickadate.js/time/

这是代码:

<select id="day" onchange="myFunction()">
    <option value="[7,30]">Day 1</option>
    <option value="[8,00]">Day 2</option>
    <option value="[10,20]">Day 3</option>
</select>
<input type="text" id="time">

<script>
var value = document.getElementById('day').value;
function myFunction() {
    $('#time').pickatime( {
        min: value // minimum time
    });
}
</script>

让我解释代码的作用。

每次select更改时,onchange myFunction()都会触发。这是第一次。这就是问题所在。如果我首先选择第2天,它会在javascript函数中插入最小值[8,00]

如果我不刷新页面并在我选择了某些内容后选择第1天或第3天,它将不会更新最小值。我该如何解决这个问题?

编辑:问题:我第一次初始化$(&#39;#time&#39;)。pickatime ......我怎样才能重新初始化或刷新它?

2 个答案:

答案 0 :(得分:0)

$('#time').pickatime();
var element = document.getElementById('day');
function myFunction() {
    $('#time').pickatime( {
        min: element.value // minimum time
    });
}

答案 1 :(得分:0)

您需要清除时间输入值。尝试如下;

 $('input[type="time"]').val(null);