使用jQuery填充数据库中的数据下拉列表

时间:2014-12-01 13:57:20

标签: php jquery database drupal-7

当我创建一个下拉列表来填充数据库中的数据时,会出现错误     数据库:dtable
hook_theme模板中的文件命名为:myModueForm_theme.tpl.php

<?php
$sel = "<select  name=\"select1\" id=\"select1\">
        <option value=\"\">Select...</option>
        <option value=\"data1\">data1</option>
        <option value=\"data2\">data2</option>
        <option value=\"data3\">data3</option>
        <option value=\"data4\">data4</option>
    </select>";
echo "$sel";

&GT?;

脚本标记开始

jQuery("#select1").change( function(){
if( jQuery(this).val() == "data1" ) {
jQuery.ajax({
    type: "POST",
    url: "<?php echo $base_url;?>?q=search/data1",
    error: function(returnval) {
        alert("Failure");
    },
    success: function (returnval) {
        alert(returnval);
        alert("Sucess"); 
    }
})
}  
});  

脚本标记结束

处理数据库连接的模块文件名为:myModule.module

$items['search/data1'] = array() 
'title' => 'Add data', //page title
'description' => 'form',
'page callback' => 'search_data1',
'page arguments' => array('access content'),
'access callback' => TRUE

);

//在search_data函数中

function search_data1(){  

$options="<select  name=\"select2\" id=\"select2\">"; 
$result = db_select('dtable', 'c')
    ->fields('c')
    ->execute() 
    ->fetchAll();
foreach ($result as $record) {
$name = ($record->dt1);
    $options.="<option value=\"$name\">".$name."</option>"; 
    //alert(node);

} 
$options.= "</SELECT>";
return $options;

}

我想要的是什么 1--请告诉我错误在哪里&amp;如何解决 2--我想将页面返回到带有查询结果的主题php页面,但是当我显示模块文件的返回值时,我得到整个HTML。

请帮助&amp;把我当作初学者。谢谢你提前...... / \

1 个答案:

答案 0 :(得分:1)

答案是:“使用ajax_deliver” 代码将是:

 $items['search/won'] = array( 
 'title' => 'Add data', //page title
 'description' => 'form',
'page callback' => 'search_won',
'page arguments' => array('access content'),
'delivery callback' => 'ajax_deliver',
'access callback' => TRUE
);