在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。 您不能指定方法intervalo_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() + " ");
我从未想过它会如此简单。 🙂
感谢所有给我提示和建议的人。
问候