Piccolo snippet, mi è stato utile nello sviluppo di una applicazione PhoneGap realizzata con jQuery Mobile .

Per caricare i dati di una combobox partendo da un array json (jsonp, nel nostro caso) abbiamo bisogno di codice lato client:

function caricaCombo() {
 $.getJSON("http://www.tuosito.com/api/get.php?callback=?", function(result) {
   $.each(result, function() {
    $("#IDComboDaPopolare").append($("<option />").val(this.id).text(this.valore));
   });
 });
}

e di un semplice script lato server (get.php) che si occupi di ‘pescare’ dati dal database e serializzare i risultati in json:

<?php
$query = "SELECT id, descrizione from Dati";
$result = mysql_query($query);
$dati= array();
while ($row=mysql_fetch_array($result)) {
 if ($row[1] != $row[2]) {
  $tempAr = array("id" => $row[0], "valore"=>$row[1]);
  $dati[]= $tempAr;
 }
}
echo $_GET['callback'] . '(' . json_encode($dati) . ')';
?>