2009-08-06 80 views
1

我想通过加载一些数据。 jQuery的通过加载选项。 jquery

$get_desc = "SELECT tekst_id,overskrift FROM rr_tekster WHERE beskrivelse_id = '". $_POST['beskrivelse_id'] ."' AND status = 1"; 
    $select = mysql_query($get_desc)or die(mysql_error()); 
    while($row_option = mysql_fetch_array($select)){ 
     $output .= '<option value="'.$row_option['tekst_id'].'">'.$row_option['overskrift'].'</option>'; 
    } 


$arr = array (
     'list_options' => $output 
); 
echo json_encode($arr); 

和我的jQuery看起来像这样

$.post(action, { beskrivelse_id:des_id }, function(data){         
          $(load_div).fadeOut(); 
          $(result).html('<select name="tekster">'+data.list_options+'</select>').fadeIn(500); 

        },'json'); 

“错误”:{ “list_options”:空}

的萤火它给了我在输出的零错误.. 。我希望它显示我的数据库中的所有行,现在应该显示3行。

但没有..: - /为什么?

回答

0

你不需要的JSON你想达到什么目的:

$get_desc = "SELECT tekst_id,overskrift FROM rr_tekster WHERE beskrivelse_id = '". $_POST['beskrivelse_id'] ."' AND status = 1"; 
     $select = mysql_query($get_desc)or die(mysql_error()); 
     while($row_option = mysql_fetch_array($select)){ 
       $output .= '<option value="'.$row_option['tekst_id'].'">'.$row_option['overskrift'].'</option>'; 
     }  

echo $output; 


$.post(action, { beskrivelse_id:des_id }, function(data){                
                 $(load_div).fadeOut(); 
                 $(result).html('<select name="tekster">'+data+'</select>').fadeIn(500); 

             }); 
+0

是啊,这似乎工作...:○ 现在我只是得到了一些字符集的错误/缺陷...: -/ 它有点怪异,因为我总是用json_encode但这次我以前不工作.. 幽灵般的 ... – william 2009-08-06 14:45:37

0

你似乎是JSON编码阵列,这看起来就像在JSON语法[ ]。但是,您正在使用对象语法访问它(data.list_options)。你可以这样做:

$responseobj = new stdClass(); 
$responseobj->list_options = $output; 
echo json_encode($responseobj); 
0

$输出为NULL,当你查询不返回任何结果,并且您(不好啊!)在beggining未初始化$输出你不检查,如果$输出为空或不在PHP 。

0

我有问题与json_encode。我只能得到它来编码类,所以我不得不实例化一个对象和json_encode该对象来返回我的数据。