想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015相关的知识,希望对你有一定的参考价值。

想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,下拉框的值就为2005~2015,如果当前年份为2008年,下拉框的值就为2003~2013。请问这个js应该怎样写啊?
请大家测试下再回答哈,2楼提的就完全不对嘛!

我改了一下他的代码,经过测试没得问题.
<script type="text/javascript">
var now = new Date();
var year=now.getFullYear()-5;

document.write("<select name='_sName'>");

for(var a=1;a<=10;a++)

document.write("<option>"+year+"</option>");

year=year+1;



document.write("</select>");

</script>
参考技术A <script type="text/javascript">
var now = new Date();
var year=now.getYear();

document.write("<select name='_sName'>");

for(var a=1;a<=5;a++)

document.write("<option value="+value+">"+year+"</option>");

year=year+1;



document.write("</select>");

</script>

根据下拉值自动填充文本框

【中文标题】根据下拉值自动填充文本框【英文标题】:Auto fill text box depending on Drop Down value 【发布时间】:2012-10-31 22:35:59 【问题描述】:

这可能是一个愚蠢的问题,但我想澄清一下如何解决这个问题。我遇到过很多文章,它们可以根据使用 jQuery 和 Ajax 在下拉菜单中所做的选择来设置文本框的值。我的问题是当我尝试根据 5 个下拉菜单中的选择做同样的事情时。我将 Id 值存储在数据库中,该值应用于填充文本框。任何人都可以指导如何通过多个下拉菜单解决这个问题。到目前为止,这是我的代码:

    <?php
     $sql1="SELECT Schlungen  FROM schulung as s"; 
     $result=mysql_query($sql1); 
     echo "<p align='left'> <strong>Schulung 1</strong> <select name='Schlungen1'>           <option value default></option>";
     while ($row = mysql_fetch_array($result)) 
     
     echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . "   </option>";
      
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 2
      $sql2="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql2); 
      echo "<p align='left'> <strong>Schulung 2</strong> <select name='Schlungen2'>  <option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
       
      echo "</select>";
      ?>


      <?php
      error_reporting(0);
      //Drop Down for Schulung 3 
      $sql3="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql3); 
      echo "<p align='left'> <strong>Schulung 3</strong> <select name='Schlungen3'> <option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . "</option>";
       
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 4 
      $sql4="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql4); 
      echo "<p align='left'> <strong>Schulung 4</strong> <select name='Schlungen4'><option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
       
      echo "</select>";
      ?>

      <?php
      error_reporting(0);
      //Drop Down for Schulung 5  
      $sql5="SELECT Schlungen  FROM schulung as s"; 
      $result=mysql_query($sql5); 
      echo "<p align='left'> <strong>Schulung 5</strong> <select name='Schlungen5'><option value default></option>";
      while ($row = mysql_fetch_array($result)) 
      
      echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
      
      echo "</select>";
      ?>   
      <p align="left"><strong>Access_level </strong> 
      <input type="text" name="a_level" disabled="disabled">
      </p>

    

【问题讨论】:

你能告诉我输出的样子吗? 【参考方案1】:

为了实现自动完成,您可以在 html 文件中创建一个选择字段,在 keyup 事件上调用 javascript 函数并使用 jQuery 调用您的 php 文件

<html>
<head>
    <script>
        $('.autosuggest').keyup(function()
         $.post("<your file.php>",any data you need,function(data)
          //echo the data
        //echo "<option value='" . $row['Schlungen'] . "'>" . //$row['Schlungen'] ."   </option>";
        $('.result').html(data)

);
        );
        $('.result option').click(function()
            var rValue = $(this).text();
            $('.autosuggest').attr('value',rValue);        
            $('.result').html('');
        );

    </script>
</head>
<body>
    <input type='text' class='autosuggest'/>
    <select class='result'>
    </select>
</body>
</html>

【讨论】:

【参考方案2】:

尝试将每个 html 选择选项的值设置为该文本的 id

所以回声应该是

echo "<option value='" . $row['id'] . "'>" . $row['Schlungen'] . " </option>";  

然后在 html 上选择添加事件 onchange 并添加 JS 函数 foo() 通过使用 JQuery 或 Javascript 从页面获取所有选定的 id 来填充隐藏的输入

您还必须为每个 html 选择添加 id 或类以轻松获取其选定值

$("#select1").val();
$("#select2").val(); ...

然后将这些值插入隐藏输入字段中,以便隐藏输入现在包含所有选定的 id

【讨论】:

以上是关于想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015的主要内容,如果未能解决你的问题,请参考以下文章

robot framework + selenium 如何处理此类的下拉框 如何选中下拉框里的值

vue 实现下拉框动态获取年份

Excel 如何将筛选功能下拉框里的数据导出来

easyui combobox下拉框中显示大于号小于号的问题

怎么用jquery实现 在一个下拉框中添加一个“其他”的选项来代表除去已选项的其余所有未选项

python 利用爬虫获取页面上下拉框里的所有国家