用PHP代码插入html字符串

时间:2013-01-28 14:47:48

标签: php jquery html

好吧,我需要在表单中插入带有php代码的HTML字符串。

我有一个表单来创建新用户。在其中,我需要为此用户插入一个角色,因此我在我的数据库中有一些角色可以应用于他。

我有一个html选择字段来做这个,以及一个添加新rol的按钮。当我单击按钮时,我想在表单中添加一个新的选择字段。但在这段代码中我有PHP代码来显示所有角色。我使用jQuery尝试这种方式:

$(document).ready(function () {
    $('#add-role').click(function (event) {
        var newRoleField = "<label for=\"usuario_perm_id\">ROLE <span class=\"required-field\"> * </span>:</label>" +
            "<select id=\"usuario_perm_id\" name=\"usuario_perm_id\" tabindex=\"7\">" +
            "<option <?php echo ($this->usuario[\"rol_id\"] == \"none\" ? 'selected=\"selected\"' : null); ?> value=\"none\">-- Seleccione un rol --</option>" +
            "<?php foreach ($this->roles as $rol): ?>" +
            "<option value=\"<?php echo $rol[\"rol_id\"]; ?>\" <?php echo ($this->usuario[\"rol_id\"] == $rol[\"rol_id\"] ? 'selected=\"selected\"' : null); ?>><?php echo $rol[\"nombre\"]; ?></option>" +
            "<?php endforeach; ?>" +
            "</select><br />";

        $('#new-roles').append(newRoleField);

        event.stopPropagation();
        event.preventDefault;
    });
});

我得到一个新的选择字段,但在其中,文本:

usuario["rol_id"] == "none" ? 'selected="selected"' : null); ?> value="none">-- Select role --

3 个答案:

答案 0 :(得分:4)

你做不到。 JavaScript(以及jQuery)运行客户端,PHP运行服务器端。浏览器不知道如何处理您可能插入的任何PHP。

处理此问题的一种方法是让jQuery在服务器中查询角色,并让您的服务器创建(PHP生成的)角色列表。查看AJAX

答案 1 :(得分:1)

您无法在客户端(Javascript)上插入服务器端代码(PHP)。

当页面首次加载然后从那里加载时,您可以将PHP中的数据加载到JS变量中。

答案 2 :(得分:0)

我不知道它是如何与JQuery完全一致的(我在纯JavaScript中使用它),但是寻找AJAX。