2013-04-27 42 views
1

添加选项值的选择我有具有以下结构的localStorage:从localStorage的

[{"id" : "1", "n" : "Ferrari testarrosa"},{"id" : "2", "n" : "Honda prelude"}......] 

我需要填写选择与此localStorage的选项,可以得到:

 <option value='1'>Ferrari testarrosa</option> 

PHP

<? require('pr13conecta.php'); 
$cadena=""; 
ini_set('display_errors',1); error_reporting(E_ALL); 
    $cSQL="SELECT ID, CADENA FROM MASIVO;"; 
    $stmt=$oConni->prepare($cSQL) or die($oConni->error); 
    $stmt->execute();        
    $stmt->bind_result($id, $texto); 
    while ($stmt->fetch()) { 
     $cadena.='{"id" : "'.$id.'", "n" : "'.$texto.'"},'; 
    } 
    $stmt->close(); 
    echo $cadena; 

JAVASCRIPT

 $.ajax({type: "POST", 
     url: "pr13llenaSelect.php", 
     success:function(data) { 
      localStorage.setItem('selids','['+data+']'); 
      for (x=0; x<=localStorage.length-1; x++) { 
       $('#selCadena').html("<option value="'+localStorage.getItem('selids')+'">"+localStorage.getItem('selids')+"</option>"); 
      } 


     } 
    }) 

回答

1

这应该得到它的工作

JAVASCRIPT

$.ajax({ 
    type: "POST", 
    url: "pr13llenaSelect.php", 
    dataType : "json", 
    success:function(data) { 
     localStorage.setItem('selids',JSON.stringify(data)); 
     $("#selCadena").empty(); 
     $.each(JSON.parse(localStorage.selids),function(){ 
      var thisItem = this; 
      $("#selCadena").append(
       $("<option>").attr("value",thisItem.id).html(thisItem.n) 
      ); 
     }); 
    } 
}); 

还建议使用PHP代码中json_encode

PHP

<? require('pr13conecta.php'); 
    $cadena=array(); 
    ini_set('display_errors',1); error_reporting(E_ALL); 
    $cSQL="SELECT ID, CADENA FROM MASIVO;"; 
    $stmt=$oConni->prepare($cSQL) or die($oConni->error); 
    $stmt->execute();        
    $stmt->bind_result($id, $texto); 
    while ($stmt->fetch()) { 
     array_push($cadena,array("id" => $id, "n" => $texto); 
    } 
    $stmt->close(); 
    echo json_encode($cadena); 
+0

是什么thisItem =呢? localStorage.selids? Thnaks – jal 2013-04-27 20:55:11

+0

$ .each迭代localStorage.selids中的每个对象 – 2013-04-27 20:59:02

+0

好的,我会去试试你的代码。谢谢 – jal 2013-04-27 21:03:53