根据AJAX调用回显选择选项

时间:2015-12-01 17:27:15

标签: javascript php html ajax

我一直在尝试这一整天而且无法理解它。我从一个名为quote.pdfnum的ajax调用中检索一个计数,它告诉我每个用户生成的pdfs数量。我想回应quote.pdfnum(number)的选项。我试图在最后一个表列的选择中回显。

setInterval(function(){
$.ajax({
  url: 'poll_requests.php',
  type: 'POST',
  data: {data:currRequests},
  dataType: 'json',
  // dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
})
.done(function(response, textStatus, jqXHR) {

  // console.log("new Requests "+response.new_quotes);
  // console.log("all requests "+response.all_quotes);
  var oldRequests = currRequests;
  currRequests = response.all_quotes;
  var newRequests= response.new_quotes;
  if(oldRequests!=currRequests){

    if(activeTab!='requests_tab' && newRequests.length>0 && pollRequests>1){
      var spanText=Number($('#rbadge').text())+newRequests.length;
            $('#rbadge').text(spanText);
    }

    if(newRequests.length==0 && oldRequests.length==1){
    $('#rtable tr').not(function(){if ($(this).has('th').length){return true}}).remove();
    $("#rtable tr:first").after("<tr><td colspan='8'>No pending requests at the moment...</td></tr>");
    }
    if(newRequests.length>0 && oldRequests.length==1){
      //and old requests are 0 (-1) remove the first row "no requests at the moment"
        $('#rtable tr').not(function(){if ($(this).has('th').length){return true}}).remove();

    }
    for (var i = 0; i < newRequests.length; i++) {
      quote = newRequests[i];
      if (activeTab!='requests_tab' && pollRequests>1) {
        noty({text: quote.company+' requested a new quote'});
      };
     // $("#rtable tr:first").after("<tr><td>"+quote.id+"</td><td>"+quote.user+"</td><td>"+quote.country+"</td><td>"+quote.insured+"</td><td>"+quote.status+"</td><td>"+quote.date+"</td><td>"+quote.time+"</td><td><a id='pdf' href='"+quote.pdf+"' target='_blank'></a><a id='edit' href='edit.php?id="+quote.id+"'></a><a class='approve' href='approve.php?id="+quote.id+"'>Approve</a></td> </tr>");
       $("#rtable tr:first").after("<tr><td>"+quote.id+"</td><td>"+quote.user+"</td><td>"+quote.country+"</td><td>"+quote.insured+"</td><td>"+quote.status+"</td><td>"+quote.date+"</td><td>"+quote.time+"</td><td><a id='pdf' href='"+quote.pdf+"' target='_blank'></a><a id='edit' href='edit.php?id="+quote.id+"'></a></td><td><select name='pdfs' id='pdfs'></select></td> </tr>");
    };

  }
  // console.log('requests length '+newRequests.length);
  pollRequests++;

})
.fail(function(error) {
  console.log("error"+ error.responseText);
})
.always(function() {
  // alert("complete");
});


// },1000000);
},2000);

这是我的poll_requests.php页面。

    <?php
    header('Content-Type: application/json');
    $data =  $_POST['data'] ;
    $new_quotes = array();
    $files = array();
    $all_quotes = array();

   require_once('db_connect.php');
   $sql = $db->prepare("SELECT * FROM users, quotes WHERE users.id = quotes.user_id     and quotes.status = 'req' ORDER BY quotes.rdate ASC");
if($sql->execute()){
while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
$files[] = $row;
}
}
foreach ($files as $file):
  $quote_id = $file['quote_id'];
    $all_quotes[] = $quote_id;
  if(!in_array($quote_id, $data)):
    $date_time=explode(' ',$file['qdate']);
    $insured=$file['insured'];
    $status = $file['status'];
    $user_id = $file['id'];
    $username= $file['username'];
    $country = $file['country'];
    $company = $file['company'];
    $pdfcount = $file['pdfnum'];

$pdf_path="all/$quote_id/$quote_id.pdf";

$new_quotes[] = array('id' => $quote_id,
                                    'user' => $username ,
                                    'country' => $country,
                                    'insured' => $insured,
                                    'status' => $status,
                                    'date' => $date_time[0],
                                    'time' => substr($date_time[1],0,8),
                      'company' => $company,
                      'pdfcount' => $pdfcount,
                                    'pdf' => $pdf_path);
endif;
endforeach;
$all_quotes[]=-1;

$data_to_send = array();
$data_to_send['new_quotes'] = $new_quotes;
$data_to_send['all_quotes'] = $all_quotes;
$json_to_send = json_encode($data_to_send);
echo $json_to_send;
?>

0 个答案:

没有答案