在jQuery中调用PHP函数(var)

我正面临着一个我无法自己解决的小问题。

我有这个PHPfunction:

function intervalo_manha(){ $que="select id_intervalo,data_15 from intervalo_manha order by id_intervalo"; $re=mysql_query($que); $object.=""; $object.=""; while(list($id_intervalo, $data_15)=mysql_fetch_row($re)) { $object.= "".$data_15.""; } $object.=""; return $object; } 

此函数返回包含来自数据库的信息的选择。

我也有这个jsfunction:

 $(document).ready(function() { var destTable = $("#dataTable"); $("#btnAdd").click(function() { var newRow = $(""); $("#dataTable").append(newRow); newRow.find('input').autocomplete("get_cols_name.php", { width: 260, matchContains: true, selectFirst: false }); }); }); 

这个将在我的表中添加一个新行,并且对于每个新输入将“激活”自动完成。 我想做的是,而不是这个:

 var newRow = $(""); 

我想要这样的东西:

 var newRow = $(""); 

直接调用php函数将不返回任何内容,我什么也做不了。 有没有办法实现这个目标?

谢谢

这不起作用,因为您在$(document).ready中执行代码。 这意味着php已经完成,并且在$(document).ready之后无法执行(那是因为php只是服务器端)。 您要么必须使用ajax,要么在调用$(document).ready之前必须执行php函数调用并将其放入变量中:

 var php_function_result = ""; $(document).ready(function() { ... // use php_function_result here ... } 

如果所有代码都在同一页面上,请尝试

 echo "var newRow = $(\""; echo intervalo_manha(); echo "\");"; 

您正在使用$()。autocomplete(); to get_coll_name.php。 $()自动完成(); 很可能是使用AJAX调用PHP的jQuery UI或jQuery插件。 您将需要使用AJAX来调用PHP。 您不能指定方法in​​tervalo_manha(),您必须指定一个页面。 如果您使用的是Zend这样的框架,那么这很容易,因为框架允许您在调用中指定方法。

试试这段代码:(请添加html标签以完成页面sice我无法在此处添加)

  

function intervalo_manha(){return'the here is my data';

 $que="select id_intervalo,data_15 from intervalo_manha order by id_intervalo"; $re=mysql_query($que); $object.=""; 

return $ object; }

if($ _ GET ['get_data']){echo intervalo_manha(); 出口; }

?>

  test      

也许使用ajax函数会更好。 给它起名字。 调用php-script,从输出中获取数据。

 $.ajax(/*...*/); 

我在朋友的帮助下解决了我的问题。

基本上我们做了什么。

我们用“php echo”创建一个div:

 

然后我们用css隐藏它:

  

在此之后我们只是在jQuery函数中调用div:

 var newRow = $("..." + $("#intervalo-manha").html() + ""); 

我从未想过它会如此简单。 🙂

感谢所有给我提示和建议的人。

问候