2010-12-01 2 views
0

이것은 earlier post의 연속입니다. 불행히도, 게시 된 솔루션이 작동하지 않았으며 후속 질문에 해결되지 않았습니다. 내 관대 한 응답자가 내가 대답했다는 사실을 알지 못했기 때문에 이것이 내 문제를 재 게시하는 경우입니다.php를 사용하여 jQuery 자동 완성에 데이터를 공급하는 방법?


특정 텍스트 필드와 텍스트 영역이 자동 완성 된 양식을 작성하려고합니다.

저는 양식을 만들 때 wordpress에 대한 강력한 플러그인을 사용했습니다. 자동 완성 부분에 jQuery autocomplete plugin을 사용하고 있습니다.

내 응답자 중 하나의 제안을 구현 한 후, 코드는 이제 다음과 같습니다

<script> 
$(document).ready(function(){ 
<?php global $frm_entry_meta; 
$entries = $frm_entry_meta->get_entry_metas_for_field(37, $order=''); ?> 
var data = new Array(); <?php foreach($entries as $value){ ?> 
data.push(unescape('<?php echo rawurlencode($value); ?>'); 
<?php } ?> 
$("#field_name-of-the-school").autocomplete(data); }) 
</script> 

// 37 is the field id I want to pull from in the database, 
// and #field_name-of-the-school is the css id 
// for the text field in the form where a user can enter the name of a school. 
// the data for that field is stored in the db under field id 37. 
// other fields, like school id, have their own field ids. 

내 응답자가 data.push(unescape('<?php echo rawurlencode($value); ?>'); 비트를 추가 제안했다. 불행히도 여전히 작동하지 않습니다.

글쓰기 코드는 page.php의 본문에 있습니다.이 템플릿은 WordPress가 정적 페이지를 생성하는 데 사용하는 템플릿입니다 (양식은이 중 하나에 있습니다).

나는 심각하게 진지하게 이것에 대한 모든 도움을 주시면 감사하겠습니다. 이 접근 방식이 막 다른 길인 경우 (이전 게시물에서는 내 머리 위로 두 가지 다른 답변이 있음) 새로운 트릭을 배우는 것보다 더 기쁠 것입니다.하지만 관련 학습 리소스를 가리킬 수는 있지만)

미리 감사드립니다.

답변

0

내가 사용 json_encode을 jsut 그것을 단순화 것 : 물론

<script> 
$(document).ready(function(){ 
    <?php global $frm_entry_meta; 
    $entries = $frm_entry_meta->get_entry_metas_for_field(37, $order=''); ?> 
    var data = <?php echo json_encode($entries); ?>; 

    $("#field_name-of-the-school").autocomplete({source: data}); 
}); // note you were missing a semicolon at the end of this, which i added 
</script> 

$entries가 연관 대신 숫자의 배열을 인덱스 인 경우 위의 원하는 원하든하지 않을 수 있습니다 사용. 경우 먹으 렴 당신이 json_encode(array_values($entries));

0

을 할 수 있다면 당신은 Autocomplete documentation 예와 같이

$("#field_name-of-the-school").autocomplete({ source : data }); 

을 사용해야합니다. 또한 에 JSON을 (를) 사용하는 것에 대해 생각할 수도 있습니다.

관련 문제