这是earlier post的延续。不幸的是,发布的解决方案不起作用,我的后续问题没有得到解决。为了防止这是因为我的慷慨受访者没有注意到我回复了,我正在重新提出我的问题。
我正在尝试构建一个表单,其中某些文本字段和文本区域具有自动完成功能。
我使用了强大的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); ?>');
位。不幸的是,它仍然没有用。
我会认真地,非常感谢任何和所有帮助。如果这种方法是死路一条(在早期的帖子中,还有两个其他的答案在我脑海中),我会非常愿意学习一些新的技巧(虽然它真的有助于指向相关的学习资源。)
提前致谢。
答案 0 :(得分:0)
我会jsut使用json_encode
并简化它:
<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));
答案 1 :(得分:0)
你必须使用
$("#field_name-of-the-school").autocomplete({ source : data });
如Autocomplete documentation示例所示。你也许会想 关于使用JSON。