2012-12-29 24 views
1

我在我的WordPress插件中有許多php文件我有問題的主文件中有一個類,我可以從中調用一個方法作爲我的顯示頁面加載和工作正常,但是當我嘗試從我的jQuery發佈的第三個文件做到這一點時,我得到了我的問題標題中的錯誤。據說錯誤在類中的文件中,但我看不到錯誤。我已經確定global $wpdb已經被添加到每個函數中,所以第一個函數可以獲取曲目名稱,但是如果我通過最後一個代碼作爲測試再次調用它,則不會。任何幫助,將不勝感激。調用一個非對象jQuery Wordpress的成員函數get_col()

類文件

<?php 
class SelectList 
{ 
public $tableName; 
public $driverTableName; 
public $classTableName; 
public $posTableName; 
public $trackTableName; 

public function __construct() 
{ 
    global $wpdb; 
    $tableName = $wpdb->prefix . "raceresults"; 
    $driverTableName = $wpdb->prefix . "driverData"; 
    $classTableName = $wpdb->prefix . "classData"; 
    $posTableName = $wpdb->prefix . "posData"; 
    $trackTableName = $wpdb->prefix . "trackData"; 
} 

public function ShowTrack() 
{ 
    global $wpdb; 
    $category = '<option value="0">choose...</option>'; 
    $postids = $wpdb->get_col("SELECT trackName FROM wp_trackData;"); 
    foreach ($postids as $value) 
    { 
     $category .= '<option value="' . $value . '">' . $value . '</option>' ; 
    } 
    return $category; 
} 

public function ShowDate($track) 
{ 
    global $wpdb; 
    $type = '<option value="0">choose...</option>'; 
    $postids2 = $wpdb->get_col("SELECT DISTINCT raceDate FROM wp_raceresults WHERE trackName = '" . $track . "';"); 
    foreach ($postids2 as $value2) 
    { 
     $type .= "<option>" . $value2 . "</option>"; 
    } 
    return $type; 
} 
} 

$opt = new SelectList(); 

jQuery代碼

jQuery(document).ready(function() 
{ 
    jQuery("select#kDate").attr("disabled","disabled"); 
    jQuery("select#kTrack").change(function() 
    { 
     jQuery("select#kDate").attr("disabled","disabled"); 
     jQuery("select#kDate").html("<option>wait...</option>"); 
     var id = jQuery("select#kTrack option:selected").attr('value'); 

     jQuery.post("<?php echo plugins_url("/race-results/getResults.php"); ?>", {id:id} , function(data) 
     { 
      jQuery("select#kDate").removeAttr("disabled"); 
      jQuery("select#kDate").html(data); 
     }) 
     .success(function() { alert("success"); }) 
     .error(function(xhr, status, detail) { alert("error ("+status+") : " + detail); }) 
    }); 
    }); 

獲取結果

<?php 
include "popDrp.php"; 
echo $opt->ShowDate($_POST[id]); 
?> 

回答

相關問題