通过加载选项。jquery

通过加载选项。jquery,jquery,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_a

我正在尝试通过加载一些数据。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);
$get_desc=“选择tekst_id,从rr_tekster中进行过krift,其中beskrivelse_id=””$_POST['beskrivelse_id']。“'和状态=1”;
$select=mysql\u query($get\u desc)或die(mysql\u error());
while($row\u option=mysql\u fetch\u array($select)){
$output.=''.$row_选项['overskrift'].';
}   
$arr=数组(
“列出选项”=>$output
);
echo json_编码($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');  
$.post(操作,{beskrivelse_id:des_id},函数(数据){
$(加载分区).fadeOut();
$(结果).html(''+数据.list_选项+'').fadeIn(500);
}“json”);
“错误”:{“列表_选项”:null}

在firebug中,它在输出中给我一个空错误。。。我希望它显示我数据库中的所有行,rigtig现在它应该显示3行


但是什么也没有为什么?

您不需要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);

                                        });
$get_desc=“选择tekst_id,从rr_tekster中进行过krift,其中beskrivelse_id=””$_POST['beskrivelse_id']。“'和状态=1”;
$select=mysql\u query($get\u desc)或die(mysql\u error());
while($row\u option=mysql\u fetch\u array($select)){
$output.=''.$row_选项['overskrift'].';
}       
echo$输出;
$.post(操作,{beskrivelse_id:des_id},函数(数据){
$(加载分区).fadeOut();
$(结果).html(''+数据+'').fadeIn(500);
});

您似乎是在用JSON编码一个数组,在JSON语法中它看起来像
[]
。但是,您正在使用对象语法(
data.list\u options
)访问它。你可以做:

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

当您的查询没有返回结果时,$output为NULL,并且您(不太好!)没有在Begging初始化$output,您也没有检查$output是否为空或在PHP中是否为空。

我在json_encode方面遇到问题。我只能让它对类进行编码,所以我必须实例化一个对象,并对该对象进行json_编码以返回我的数据。

是的,这似乎可行…:o现在我刚得到一些字符集错误/bug…:-/这有点奇怪,因为我总是使用json_编码,但这次它不起作用。。幽灵般的