简体   繁体   English

如何在我的选择下拉列表中每隔2秒按数字选项项进行多次自动更改

[英]How to make multiple auto on change by number option item in my select drop-down every 2 seconds

I have a select drop-down has 4 option items. 我有一个选择下拉列表有4个选项。

  • I want to make an auto on change to all of my select items one after one after every 2 second. 我想在每2秒后一个接一个地对所有选择项进行自动更改。
  • I try to loop for 4 times and make an auto on-change according to the number of the option item but doesn't work. 我尝试循环4次并根据选项的数量进行自动更改但不起作用。
  • So how can I do these 4 on-change automatically? 那么如何自动完成这4次变更?
<!DOCTYPE HTML>
<html>
   <head>
     <meta charset="UTF-8">
   </head>
   <body>
     <select class="cars">
     <option value="volvo">Volvo</option>
     <option value="saab">Saab</option>
     <option value="mercedes">Mercedes</option>
     <option value="audi">Audi</option>
     </select>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
     <script>
     $ (document).ready (function() {
     var i;
     for (i = 0; i < 4; i++) {
     setTimeout (function() {
     $ (".cars").prop ('selectedIndex', i); // make on change according to its number item
     }, 2000);
     }
     });
     </script>
   </body>
</html>

maybe this will help 也许这会有所帮助

function autoAjax(i) {
    $(".cars").prop("selectedIndex",i);


    setTimeout(function() {autoAjax((i+1)%4);},2000);

}

autoAjax(0);

i put the contents you had on the set timeout function into a different named function that takes the index of the select option as a parameter. 我将您在set timeout函数上的内容放入一个不同的命名函数中,该函数将select选项的索引作为参数。

at the end, it will create a timeout and call the same function after two seconds, with an incremented value of i modulus 4 so that it can loop around. 最后,它将创建一个超时并在两秒后调用相同的函数,增加的i模数值4使它可以循环。

You can use setTimeout loop with recursion and trigger like below. 您可以将setTimeout循环与递归和trigger一起使用,如下所示。

 let i = 0; function fntimeout() { setTimeout(function() { if (i == 4) // Reset Counter if you want infinite change i = 0; $(".cars").trigger('change'); $(".cars").prop('selectedIndex', i); fntimeout(); i++; }, 2000); } fntimeout(); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select class="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在当前时间的下拉菜单中设置自动选择的选项? - How to set auto selected option in drop-down with current time? 如何将我的选项设置为默认选项,因此如果我清除下拉菜单,默认情况下将填充该选项 - How to make my option a default so if I clear my drop-down it is populated by the default 如何计算量角器中下拉选项的总数 - How to count total number of option of drop-down in protractor 如何获取 select 下拉元素以自动选择第一个选项? - How to get a select drop-down element to autoselect the first option? 如何从柏树的下拉菜单中选择项目? - How can select item from drop-down menu in cypress? 使用.attr()时如何使“更改事件”在选择下拉菜单上起作用 - How to make the “change event” work on a select drop-down menu when using .attr() JavaScript - 如何从下拉菜单中更改项目 - JavaScript - how to change item from drop-down menu 如何在vue.js中的下拉选择上处理多个on change事件 - How to handle multiple on change events on drop-down selection in vuejs Vue JS Make 下拉 select 选择选项时运行查询 - Vue JS Make drop-down select run query when option selected jQuery select会针对不断变化的JS行为提示错误的下拉菜单选项值 - jquery select alerts the wrong drop-down menu option value for on-change js behavior
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM