2016-02-17 55 views
1

我在函数内循环时遇到了麻烦。这不起作用,我想因为我的循环,我需要一些帮助纠正,请。 :)和问题如何循环使用Javascript函数?

的建议,下面是我做了什么:

<script> 
     function getImage1(str) { 


     if (window.XMLHttpRequest) { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } else { // code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() { 
     for (i = 0; i < xmlhttp.length; i++) { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("result1").innerHTML=xmlhttp.responseText; 

      } 
     } 
     xmlhttp.open("GET","getImage.php?no="+str,true); 
     xmlhttp.send(); 
     } 
     } 

    </script> 

这里是我的PHP:

<select onchange="getImage1(this.value)" name="<?php echo $rowasa['pos_name'] ?>" style="height: 47px;"> 
     <option value='0' >Pls. Select <?php echo $rowasa['pos_name'] ?></option> 
     <?php 
     include('connection/connect.php'); 
     $dsds=$rowasa['posid']; 
     $YearNow=Date('Y'); 
      $results = $db->prepare("SELECT * FROM candidates,student,school_year,partylist where student.idno = candidates.idno AND school_year.syearid = candidates.syearid AND posid =:a AND candidates.partyid = partylist.partyid "); 

      $results->bindParam(':a', $dsds); 
      $results->execute(); 
      while($rows = $results->fetch()){ 
          ?><!---$rows['candid'] . "," .--> 
        <option style="padding: 35px 50px 35px 80px; background:url('admin/candidates/images/<?php echo $rows['image']; ?>') no-repeat scroll 5px 7px/70px auto rgba(0, 0, 0, 0);" 

       value="<?php echo $rows['candid'] . "-" ."&nbsp". $rows['lastname'] .",". "&nbsp". $rows['firstname'] ?>"> <?php echo $rows['lastname'] ?>, 
        <?php echo $rows['firstname'] ?> 

       - <?php 
         echo $rows['party_name']?></option> 

       <?php 

      } 

     ?> 
      </select> 
      <div class="12u$"><span id="result1"> 
+0

你在哪里'echo'来标记/ – Rayon

+0

我觉得很多问题来缩小一次,但你你循环 –

+0

也没有看到任何理由环路输出相同的responseText前应检查的readyState和状态。一旦它返回,它不会改变,除非再次请求 –

回答

0

你并不需要循环theough XHR对象。只要在状态改变时得到你的回应。

<script> 
     function getImage1(str) { 


     if (window.XMLHttpRequest) { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } else { // code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() {   
      if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("result1").innerHTML=xmlhttp.responseText;  
      } 

     xmlhttp.open("GET","getImage.php?no="+str,true); 
     xmlhttp.send(); 
     } 
     } 

    </script>