需要调用jquery函数,反之亦然

时间:2012-06-21 04:09:18

标签: php javascript jquery css

我有一个jquery函数来控制一些将状态设置为活动状态的css。它在点击事件上运行。我需要在运行php函数时运行类似的函数(当用户使用表单搜索时)。搜索词通过php函数,该函数将使用id匹配该术语。如何使用php函数将状态设置为活动状态? 这是指向测试区域的链接

http://vtour.dev4.webenabled.net/tester/index.html

如果单击某个区域,则选择保持活动状态。如果您在淡紫色搜索框中键入名称,然后单击搜索图标,则不会选择相应的区域。

(附上搜索功能文件。我知道那里有一堆垃圾,但对应于这个例子的部分从第149行开始

输入行旁边的小淡紫色框是点击/搜索图标

谢谢

2 个答案:

答案 0 :(得分:0)

你不能用PHP做到这一点,你通过Javascript做任何事情(看看Ohgodwhy的评论,尤其是关于使用jQuery或不使用jQuery的说明 - 你应该使用.ajax()或.post())。

要做到这一点,AJAX会返回一些标志来告诉Javascript打开/关闭什么块,以及文本响应。您可以将所有这些包装在JSON对象中。

<?php

$returnArray = array('html' => 'HTML TO DISPLAY', 'blocks'=>array(1,3,4));
echo json_encode($returnArray);

?>

并在javascript中使用JSON对象元素显示文本,然后打开/关闭右侧块。这个位在jQuesry中会更容易,因为它会为你处理JSON对象,所以你只需要html位的response.html和块的response.blocks。

答案 1 :(得分:0)

您可以通过输出html脚本标记来执行javascript函数。

<?php
echo "<script  type=\"text/javascript\">runJavascriptFunction()</script>";
?>

所以你可以从技术上把它放到你的FetchData.php的响应中 - 但如果它是我,我会用jQuery做到这一切:

$('#woodward-title-search-button').click(function() { //on button click
    var term = $('#searchTerm').val(); //the search term
    $('#room-'+term).css('background','red'); //or more nicely: .addClass('highlighted');
    //load the response of fetchdata into #myDiv
    $('#myDiv').load('FetchData.php?searchTerm='+term); 
});

我建议在json中与你的PHP进行通信并提供某种类型的ID来更好地定位你的div ..但这应该是一个肮脏的解决方案。