2012-06-21 3 views
0

상태를 활성화 또는 비활성화로 설정하는 일부 CSS를 제어하는 ​​jquery 함수가 있습니다. 클릭 이벤트에서 실행됩니다. PHP 함수가 실행될 때 (사용자가 양식을 검색 할 때) 비슷한 기능을 실행해야합니다. 검색 용어는 id와 용어를 일치시키는 PHP 함수를 거칩니다. PHP 함수를 사용하여 상태를 활성으로 설정하려면 어떻게해야합니까? 다음은 테스트 영역jquery 함수를 호출해야하거나 그 반대가됩니다.

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

당신이 영역을 클릭하면 선택이 활성 상태로 유지에 대한 링크입니다. 라벤더 검색 창에 이름을 입력하고 검색 아이콘을 클릭하면 해당 영역이 선택되지 않습니다.

(검색 기능의 파일을 첨부. 내가이 쓰레기의 무리가에 있지만이 예에 해당하는 부분은 라인 149

옆에 입력 라인에 작은 라벤더 상자 주위에 시작 알고는/클릭입니다 당신이 (아약스 사용해야합니다) - 검색 아이콘

당신은 PHP에서이 작업을 수행 할 수
+0

jquery를 사용하거나 jquery를 사용하지 않았습니까? 코드의 혼합은 어느 시점에서 혼란스러워해야합니다. 연속성은 +1입니다. 또한 .. 귀하의 사이트에서 jQuery를 두 번 호출하십시오. 문제를 일으킨다. searchTerm.value를 호출하는 것처럼 보이지만,'searchTerm'을'getInfo()'함수에 넘겨서는 안됩니다.이 함수는 아마도'function getInfo (searchTerm)'함수 여야합니다. 그리고 그것을 넘겨주고 싶지 않더라도 여전히 var searchTerm = $ ('input # searchTerm')을 선언해야합니다. – Ohgodwhy

+0

저는 중류에 남겨진 다른 사람의 프로젝트에서 일하고 있습니다. PHP는 필자도 아니고 jquery도 아니다. 이후이 활동을 제외한 sctive 상태, 나는 픽스를 시도하고 싶습니다 – Baybook

답변

0

, 당신은 자바 스크립트 (을 통해 모든 일을하고 Ohgodwhy의 의견, jQuery를 사용하여 jQuery를 사용 여부에 대해 특히주의를 참조 해 주셔서 감사합니다 또는 .post()) 예 :

AJAX는 Javascript에 어떤 블록을 켜고 끌 것인지, 텍스트 응답을 알리기 위해 플래그를 반환합니다. 이 모든 것을 JSON 객체로 래핑 할 수 있습니다.

<?php 

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

?> 

및 javascript는 JSON 개체 요소를 사용하여 텍스트를 표시 한 다음 올바른 블록을 설정/해제합니다. 이 비트는 JSON 객체를 처리 할 때 jQuesry에서보다 쉬울 것이므로 html 비트에는 response.html, 블록에 대해서는 response.block 만 필요합니다.

0

HTML 스크립트 태그를 출력하여 자바 스크립트 기능을 실행할 수 있습니다.

즉.

<?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); 
}); 

나는 당신의 PHP와 통신 제안 json에서 더 나은 div를 대상으로하는 일종의 ID를 제공합니다.하지만이 방법은 다운되고 더러운 솔루션으로 작동해야합니다.

+0

안녕하세요 크리스, 당신의 제안과 함께 내 문제는 검색어가 방에 해당하지 않는다는 것입니다. 루틴은 검색어를 가져 와서 XML 파일에서 ID를 찾습니다. – Baybook

+0

그러면 Robbie가 보여준 것처럼 별도의 엔티티로 HTML을 사용하여 ID를 전송하는 것이 좋습니다. ' '반환 할 방 101에 대한 html', 'id'=> 'room-101'); echo json_encode ($ returnArray); ?>' 다음 버튼 클릭에 : '$ .getJSON ('? FetchData.php SEARCHTERM ='+ 용어, 기능 (데이터) { $ ('#'+ data.id) .CSS (' html (data.hmtl); }); ' – Chris

관련 문제