在 jquery 中附加 php [英] append php in jquery

查看:31
本文介绍了在 jquery 中附加 php的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试动态创建一个 div 以使用 jquery 显示错误消息.我可以很容易地使用 append() 来创建 HTML,但是我需要调用一个 php 变量来显示内容.如果我只是像往常一样尝试添加 php 开始和结束标记,则 append 方法不会按预期运行并从行的中间输出看似随机的部分.我该如何克服这个问题?

这是我拥有的 jquery 代码:

$(document).ready(function() {var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";$('#wrapper').append("<div id='errors'><ul>"+errors_php+"</ul></div>");$('#errors').slideDown('慢');});

注意:validation_errors() 函数是一个 codeigniter 方法.顺便说一句,如果我从 append() 中删除 errors_php 变量,它会按预期工作,显示一个空的 div.

生成的代码为:

    ','');?&gt;</ul></div>

解决方案

根据您的评论:

<块引用>

我刚刚查了那个问题这正是我想要做的.不幸的是,我不明白答案是如何解决的.我以前从未使用过 json 数据.我应该把那段代码放在哪里?

JSON 数据 只是 JavaScript 对象表示法,因此如果您将 JavaScript 变量设置为 JSON 值,它将本质上是重新创建最初序列化为 JSON 的对象的副本.

var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";

应该是:

var errors_php = <?php echo json_encode(validation_errors('<li>','</li>'));?>;

I'm trying to dynamically create a div to show error messages using jquery. I'm able to use append() to create the HTML easily enough, but I need to call a php variable in order to display the content. If I just try adding php opening and closing tags like I would ordinarily, the append method doesn't behave as expected and outputs a seemingly random section from the middle of the line. How can I overcome this problem?

Here's the jquery code as I have it:

$(document).ready(function() {
    var errors_php = "<?php  echo validation_errors('<li>','</li>'); ?>";
    $('#wrapper').append("<div id='errors'><ul>"+errors_php+"</ul></div>");
    $('#errors').slideDown('slow');
});

Note: the validation_errors() function is a codeigniter method. Incidentally, if I remove the errors_php variable from the append() it works as expected, displaying an empty div.

EDIT:

The generated code is:

<div id="errors"><ul>',''); ?&gt;</ul></div>

解决方案

As per your comment:

I just looked up that question and it is exactly what I'm trying to do. Unfortunately, I don't understand from the answers how they've solved it. I've never used json data before. Where should I put that piece of code?

JSON data is simply JavaScript Object Notation, so if you set a JavaScript a variable to a JSON value it will essentially recreate a copy of the object that was serialized into JSON in the first place.

var errors_php = "<?php  echo validation_errors('<li>','</li>'); ?>";

should be:

var errors_php = <?php echo json_encode(validation_errors('<li>','</li>')); ?>;

这篇关于在 jquery 中附加 php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆