通过ajax调用基于选项更改值

时间:2013-06-10 06:16:52

标签: php sql ajax

我正在尝试使用ajax更新Price,当用户选择size时,它会使用pid从数据库中获取价格。

由于

我的尺码表看起来像这样

 pid    psize  pprice  ssize   sprice 
  1       12    25      12      30
  2       14    30      14      40
  3       16    35      16       45
  4       18    45  

形式

<form id="add" name="checkout" method="Post" action="checkout.php">
  <table>
    <tr>
      <td width="160">Price:</td>
    <td>  </td> <!-- the price goes here and will change user 
       select from the option by default it should be what pid 1 psize is -->

</tr> 

以下是我为psize设置选项的方法

<tr>
  <td width="160">sizes*:</td>
  <td>
<select name="length"  id="length" class="small">
<?php
dbconnect();
$stmt = $conn->prepare("SELECT pid,psize FROM size");
$stmt->execute();
$i = 0;
foreach( $stmt->fetchAll(PDO::FETCH_ASSOC) as $row )
{
    if ($i == 0)
    {
        echo '<option',fillSelect('psize',$row['pid'],'',true),' value="'.$row['pid'].'">'.$row['psize'].'</option>';
    }
    else
    {
        echo '<option',fillSelect('psize',$row['pid']),' value="'.$row['pid'].'">'.$row['psize'].'</option>';
    }
    $i++;
}
?>
</select>

  </table> 
<input type="hidden" name="pid" id="pid" value="<?php echo $pid; ?>" />
<input type="Submit" name="button" id="button" value="Add"/>
    </form> 

1 个答案:

答案 0 :(得分:0)

您可以使用jquery .change()

 $('#length').change(function(){
    $('#loader').show();
    // link to findprice.php
    var findprice = "link/to/your/findprice.php";
    $.post(findprice, {
    length: $('#length').val(),
    }, function(response){
    $('#price').html(response);
    });
    return false;
    });

您将ID添加到Price

<td id="price" width="160">Price:</td>