3

selectタグに2つのドロップダウンリスト項目があります

最初の select タグには年のリストがあり、2 番目の select タグには月のリストがあります

<SELECT id="year" onchange="showData();">
  <OPTION VALUE="2012">2012
  <OPTION VALUE="2011">2011
  <OPTION VALUE="2010">2010
  <OPTION VALUE="2009">2009
  <OPTION VALUE="2008">2008
</SELECT>

<SELECT id="month" onchange="showData();">
  <OPTION VALUE="jan">jan
  <OPTION VALUE="feb">feb
  <OPTION VALUE="mar">mar
        .
        .
  <OPTION VALUE="dec">dec
</SELECT>

だから私はどのように月を5秒後に自動的に変更し、年は60秒に変更できますか

私のjqueryは何でしょう

function changeMonthYear() {    
    //what to code here to change option of select tag
    //automatically after some time 
    //say 5 sec per month & after 60 sec year will be changed
    showData();    
}

showData() {    
    //some logic will show data for selected year & month    
}

それを修正する方法

4

3 に答える 3

1

これが簡単な解決策です。すべてのオプションを通過したら、最初からやり直します。

var i=0;
function changeYear() {
  var count = $('#year option').length;
  i = (i == count) ? 0 : i;
  $('#year').val($('#year option').eq(i++).val());
}

setInterval(changeYear, 1000); // example is 1 second!

ここにフィドルがあります

月を変更するには同じことをしなければなりませんが、(私の意見では) 他の例よりもきれいなので、ここに残しておくと思いました

于 2012-09-27T12:01:40.007 に答える
0
var i=0,j=0;

 function changeMonthYear() {

        //what to code here to change option of select tag
        //automatically after some time 
        //say 5 sec per month & after 60 sec year will be changed
        setInterval(showData('year'),1000*60);
        setInterval(showData('month'),1000*5);

    }
function showData(that)
{
if(that=='year')
{    
document.getElementById(that).getElementsByTagName('option')[i].selected=true;
    i++;
}
else
{
document.getElementById(that).getElementsByTagName('option')[j].selected=true;
j++;
}
}
changeMonthYear();
于 2012-09-27T11:48:03.630 に答える