我想在选择下拉选项时自动更改时间

时间:2017-12-06 16:22:08

标签: jquery select html-select



$(function() {
  var select = $('select').val;
  if (select = 1) {
    $("#selectedTime").val("11:00 AM");
  }
});
else {
  $("#selectedTime").val("8:00 PM");
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="" class="select"> 
  <option value="">Select</option> 
  <option value="1">lunch</option> 
  <option value="2">Dinner</option> 
</select>
<input type="time" id="selectedTime">
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

这里有很多问题:

  • 代码中间有一个随机});导致语法错误
  • val不是属性,它是一个函数,所以应该是.val()
  • val()也会返回一个字符串,因此您应该与'1'进行比较,而不是1
  • =用于设置值。 =====用于比较
  • 您设置的时间值不应为AMPM,且格式应为00:00,而不是0:00

最后,您的代码仅在页面加载时运行一次。您需要挂钩change的{​​{1}}事件。然后,您可以执行代码并更新时间输入的select,如下所示:

val()
$(function() {
  $('.select').change(function() {
    var select = $(this).val();
    if (select === '1') {
      $("#selectedTime").val("11:00");
    } else {
      $("#selectedTime").val("08:00");
    }
  });
});

答案 1 :(得分:0)

这里有几件事:

首先,使用选择选择器的change事件处理程序来触发更改。其次,请确保使用RFC3339时间格式来设置值。第三,你的一些代码(错位括号)有一些语法错误:

&#13;
&#13;
$(function() {
  var select = $('select').val;
  $( "select.select" ).change(function() {
  // Check input( $( this ).val() ) for validity here
    if ($(this).val() == 1) {
      $("#selectedTime").val("11:00:00");
    } else {
      $("#selectedTime").val("08:00:00");
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="" class="select"> 
  <option value="">Select</option> 
  <option value="1">lunch</option> 
  <option value="2">Dinner</option> 
</select>
<input type="time" id="selectedTime">
&#13;
&#13;
&#13;