2012-10-06 10 views
0

jQuery를 사용하여 invoice.php 파일에 선택된 값을 전달하고 싶습니다. invoice.php 파일에 값을 보낸 후. invoice.php 파일에 echo 결과를 index.php 페이지에서 선택한 입력 상자에 표시하고 싶습니다. 예를 들어 : 누군가 항목을 선택하면 요금 입력 상자에 요금을 표시합니다. 여기에 내 코드와 이미지 enter image description herejQuery로 선택한 값을 전달하는 방법

index.php 파일의 코드는 다음과 같습니다

<html> 
    <head> 
     <title>Invoice</title> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript"> 

    $(document).ready(function(){ 
    $(".item").change(function(){ 
     calculate(); 
    }); 
}); 

function calculate() { 

var item = []; 
    $(".item").each(function() { 
      var num=(this.value); 
      item.push(num); 
    }); 


    $('input[name=rate]').each(function(i){ 
     $.get(
      '/invoice_final_2.php', 
      {'product':item[i]}, 
      function(data) { 
       $(this).html(data); 
      }); 
    }); 
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
</script> 
<style type="text/css"> 
table 
{ 
    border: 1px solid black; 
    border-bottom: none; 
    width: 300px; 
} 


td 
{ 
    border-left: 1px solid black; 
    border-bottom: 1px solid black; 
    padding:5px 5px 5px 5px; 
} 
#first 
{ 
    border-left: none; 
    border-bottom: 1px solid black; 
} 
</style> 
    </head> 
    <body> 
     <form method='post' name='form1' action='welcome.php'> 
     <table cellpadding="0" cellspacing="0"> 
      <tr> 
       <td id="first">Item</td> 
       <td>Rate</td> 
      </tr> 
      <?php 
      $num=4; 
      for ($i=0; $i<$num; $i++) 
      { 
       echo " 
       <tr> 
       <td id='first'> 
       <select class='item' name='item'> 
       <option>Select one</option> 
       <option>Deluxe Plan</option> 
       <option>Premium Plan</option> 
       <option>Standard Plan</option> 
       <option>Economy Plan</option> 
       </select> 
       </td> 
       <td><input class='rate' type='text' name='rate'/></td> 
       </tr>"; 
      } 
      ?> 
    </table> 
</form> 
</body> 
</html> 

invoice.php 파일 코드 :

<?php 
include "dbconnect.php"; 

$product=$_GET['product']; 

$query="select * from item where item_name='$product'"; 
$result=mysql_query or die (mysql_error()); 
$row=mysql_fetch_assoc($result); 
$rate=$row['rate']; 

echo "$rate"; 

?> 

답변

0

내가, 당신이 달성 하려는지 모르겠지만 each을 사용할 필요가 없으며 인덱스를 사용하여 값을 하나씩 보내면 배열 을 한 번으로 보낼 수 있습니다.

function calculate() { 
    var items = $(".item").map(function() { 
      return this.value; 
    }).get(); 

    $.get('/invoice_final_2.php', 
     {'product': items }, 
     function(data) { 
      // 
     } 
    ); 
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
+0

내가 배열을 사용하는 경우 선택한 배열의 index.php 파일을 어떻게 표시 할 것인가. 설명해 주시겠습니까? – user1493448

+0

@ user1493448 그러면 배열을 반복하고 값을 읽어야합니다. 결과를 직렬화하면 데이터를보다 쉽게 ​​처리 할 수 ​​있습니다. – undefined

+0

예제 코드를 serialize 할 수 있습니까? 나는 jquery에서 새롭기 때문에. 코드 좀주세요. – user1493448

관련 문제