2013-02-12 91 views
6

我想在选择javascript中填充年份。我做了以下代码。使用javascript动态添加选择框的选项值

<html> 
<head> 
    <script type="text/javascript">   
     $(document).ready(function(){ 
      var cur_year=new Date().getFullYear(); 
      var obj=document.getElementById("yr"); 
      alert(obj);   
      for (var i = 2000; i <= 2020; i++)  {     
       opt = document.createElement("option"); 
       opt.appendChild(document.createTextNode(value)); 
       opt.selected = selected; 
       opt.value = i; 
       opt.text=i; 
       obj.appendChild(opt); 
      } 
     }); 
    </script> 
</head> 
<body> 
    <select id="yr"> 
<option>year</option> 
</select> 
</body> 
</html> 

我不知道什么是错的。我想填充年份,并希望在用户打开浏览器时在选择框中选择当前年份。任何人都可以帮忙?请!

+0

其中是值变量? – 2013-02-12 07:04:11

+0

如果我删除该行-opt.appendChild(document.createTextNode(value()),会发生什么情况? – ijarlax 2013-02-12 07:06:04

回答

7
$(document).ready(function() { 
      var cur_year=new Date().getFullYear(); 
      var obj=document.getElementById("yr");   
      for (var i = 2000; i <= 2020; i++)  {     
       opt = document.createElement("option"); 
       opt.value = i; 
       opt.text=i; 
       obj.appendChild(opt); 
      } 
      document.getElementById("yr").value = cur_year; 
     }); 
  1. 只是使用.value并分配cur_year它。

Working Fiddle

+1

请问您可以告诉相同的代码,不使用jquery。只想使用javascript。 – ijarlax 2013-02-12 07:11:51

+0

谢谢您我得到了解决方案:) – ijarlax 2013-02-12 07:17:53

+0

@ijarlax看到我更新的答案,它只是没有IF语句。 – 2013-02-12 07:21:33

0
<?php 
$current_year = date('Y'); 
$end_year = date('Y', strtotime('+10 years')); 
?> 
<label>Year</label><select name="year"> 
    <?php 
for($i=$current_year; $i<=$end_year; $i++) 
{ 
    ?> 
    <option value="<?php echo $i; ?>"><?php echo $i; ?></option> 
    <?php 
} 
?> 
</select> 
+0

你应该解释一下,你在那里做了什么。 – frieder 2016-02-05 11:05:07