Jquery在同一文件中自动完成源代码

时间:2014-01-06 16:03:59

标签: javascript php jquery wordpress

我正在尝试在Wordpress(http://af-design.com/blog/2010/05/12/using-jquery-uis-autocomplete-to-populate-a-form/)中从Wordpress数据库中获取数组。问题是 Wordpress数据库连接$ wpdb 无法调用外部php,如 demo_cities.php

如果我将 demo_cities.php 集成到HTML中,您能告诉我源代码是什么吗?这甚至可能吗?

我可以在Wordpress页面中创建数组,只是按原样调用脚本的其余部分吗?

由于

HTML

    <script type="text/javascript">
$(document).ready(function(){
    var ac_config = {
        source: "/ajax/demo_cities.php",
        select: function(event, ui){
            $("#city").val(ui.item.city);
            $("#state").val(ui.item.state);
            $("#zip").val(ui.item.zip);
        },
        minLength:1
    };
    $("#city").autocomplete(ac_config);
});
</script>
<form action="#" method="post">
     <p><label for="city">City</label><br />
         <input type="text" name="city" id="city" value="" /></p>
     <p><label for="state">State</label><br />
         <input type="text" name="state" id="state" value="" /></p>
     <p><label for="zip">Zip</label><br />
         <input type="text" name="zip" id="zip" value="" /></p>
</form>

demo_cities.php

<?php

// Data could be pulled from a DB or other source
$cities = array(
    array('city'=>'New York', state=>'NY', zip=>'10001'),
    array('city'=>'Los Angeles', state=>'CA', zip=>'90001'),
    array('city'=>'Chicago', state=>'IL', zip=>'60601'),
    array('city'=>'Houston', state=>'TX', zip=>'77001'),
    array('city'=>'Phoenix', state=>'AZ', zip=>'85001'),
    array('city'=>'Philadelphia', state=>'PA', zip=>'19019'),
);

// Cleaning up the term
$term = trim(strip_tags($_GET['term']));

// Rudimentary search
$matches = array();
foreach($cities as $city){
    if(stripos($city['city'], $term) !== false){
        // Add the necessary "value" and "label" fields and append to result set
        $city['value'] = $city['city'];
        $city['label'] = "{$city['city']}, {$city['state']} {$city['zip']}";
        $matches[] = $city;
    }
}

// Truncate, encode and return the results
$matches = array_slice($matches, 0, 5);
print json_encode($matches);

?>

0 个答案:

没有答案