2011-05-03 4 views
0

이 작업을 수행하는 가장 좋은 방법은 ...
사용자가 옵션을 선택하면 옵션을 선택하고 PHP 페이지로 보내 데이터베이스를 쿼리 한 다음 반환합니다. 사업부에 데이터 ...jQuery 제출 데이터가 새로 고침되지 않습니다.

코드는 내가 당신이하려는 일을하는 좋은 방법처럼 않는, 무엇을 볼 수에서

<?PHP 
    include('includes/inc_header.php'); 

    #<-- SQL QUERIES START -------------------------------------------> 
    $sql1 = "SELECT Team.ShortLabel ShortLabel,Team.Label Label 
      FROM adlTeam Team 
      INNER JOIN adlPlanet Planet ON Team.TeamKey = Planet.TeamKey 
      GROUP BY ShortLabel"; 
    $queryrow1 = mysql_query($sql1);    
    #<-- SQL QUERIES END -------------------------------------------> 
?> 

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
    $("#selectOwner").change(function() 
    {  
     $.post('process.php', $(this).serialize() 
     ,function(data){$("#ownerInfo").html(data)}); 

     return false; 
    });  
$("#selectZoom").change(function() 
    {  
     $.post('zoomchange.php', $(this).serialize() 
     ,function(data) 
     { 
     $("#mapchanges").html(data) 
     }); 
     return false; 
    }); 
    $("#nameStatus").change(function() 
    {  
     $.post('mapchanges.php', $(this).serialize(), function(data) 
     { 
     $("#zoomchanges").html(data) 
     }); 
     return false; 
    });   
    }); 
</script> 

<div id="primary_content"> 

    <form name="myform" id="myform" action="" method="POST"> 
    <h3>SELECT TEAM</h3> 
    <select name="selectOwner" id="selectOwner" size="10" 
     style = "width:250px;margin-top:-12px;margin-left:15px;"> 
    <?PHP 
     while ($clanlist = mysql_fetch_array($queryrow1)) 
     { 

     #<-- SQL QUERIES START -------> 
     $sql3 = "SELECT Red, Green, Blue FROM adlteam 
        WHERE ShortLabel = '".$clanlist['ShortLabel']."'"; 
     $queryrow3 = mysql_query($sql3); 
     $colors = mysql_fetch_array($queryrow3);  
    #<-- SQL QUERIES END ------------> 

    ?> 
<option id="ownerID_input" name="ownerID" 
     value="<?php 
     echo $clanlist['ShortLabel']; ?>"><?php echo $clanlist['Label']; ?> 
    </option> 
<?PHP 
     } 
    ?> 
</select> 
</form> 

<div id="ownerInfo"></div> 
<div id="planetInfo"></div> 
<div id="mapchanges"></div> 
<div id="zoomchanges"></div> 
<div id="mapoptions"> 
    <span class="h4">ZOOM:</span> 
    <select name="selectZoom" id="selectZoom"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
    <option value="6">6</option> 
    <option value="7">7</option> 
    <option value="8">8</option> 
    <option value="9">9</option> 
    <option value="10">10</option> 
    <option value="11">11</option> 
    <option value="12">12</option> 
    <option value="13">13</option> 
    <option value="14">14</option> 
    <option value="15">15</option> 
    <option value="16">16</option> 
    <option value="17">17</option> 
    <option value="18">18</option> 
    <option value="19">19</option> 
    <option value="20">20</option> 
    </select> 
    <input type="checkbox" style="margin-top:10px;" 
     name="nameStatus" id="nameStatus"> 
     <span class="pinfo">Planet Names</span> 
</div> 

</div> 
<div id="secondary_content"> 
    <iframe src="mapgendisplay.html" name="testFrame" id="testFrame" 
     width="695" height="564" scrolling="no" 
     frameborder="0" allowtransparency></iframe> 
    </div> 
<?PHP include('includes/inc_footer.php'); ?> 
+1

들여 쓰기! 코드를 읽을 수 있다면 도움을주는 것이 훨씬 쉬워집니다. –

+0

난 들여 쓰기하지만 stackoverflow 넣어 단지 4 공백을 넣으라고 – labratt

+0

4 공백이 아니라 코드 앞에 4 공백. 또한 모든 코드를 선택하고 편집기에서'{} '버튼을 눌러 4 칸으로 자동 들여 쓰기 할 수 있습니다. 그리고 당신은 줄 끝난 후 공간이 있습니다! – Zirak

답변

0

이하입니다. 더 많은 정보가 유용 할 것입니다.

그것은 당신이 기능이 더 일반적인하여 코드를 줄일 수있는 가능성 :

var phpfile = new Array(); 
phpfile["selectZoom"] = "zoomchange.php"; 
... 
... 

var elementID = new Array(); 
elementID["selectZoom"] = "#mapchanges"; 
... 
... 

$("select").change(function() { 
    $.post(
    phpfile[$(this).id()], 
    $(this).serialize(), 
    function(data) { 
     $(elementID[$(this).id()]).html(data) 
    } 
); 
}); 
관련 문제