2013-02-12 22 views
6

Chcę wypełnić rok w wybranym javascript. Zrobiłem następujący kod.dodaj wartość opcji pola wyboru dynamicznie za pomocą 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> 

Nie wiem, co jest w tym złego. Chcę wypełnić rok i wybrać rok bieżący w polu wyboru, gdy użytkownik otworzy przeglądarkę. Ktoś może pomóc? Proszę!

+0

gdzie jest to zmienna wartość? –

+0

jeśli usunę ten line-opt.appendChild (document.createTextNode (wartość()), co się stanie? – ijarlax

Odpowiedz

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. wystarczy użyć .value i przypisać cur_year do niego.

Working Fiddle

+1

Czy możesz powiedzieć ten sam kod, bez korzystania z jquery.za chcesz używać javascript tylko. – ijarlax

+0

dziękuję Mam rozwiązanie :) – ijarlax

+0

@ijarlax zobacz moją zaktualizowaną odpowiedź to tylko bez instrukcji IF. –

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

Powinieneś wyjaśnić, co tam zrobiłeś. – frieder

Powiązane problemy