さて、フォーム内に PHP コードを含む HTML 文字列を挿入する必要があります。
新しいユーザーを作成するためのフォームが 1 つあります。その中に、このユーザーの役割を挿入する必要があるため、データベースにいくつかの役割を適用します。
それを行うためのhtml選択フィールドと、新しいロールを追加するためのボタンがあります。ボタンをクリックすると、フォームに新しい選択フィールドを追加したいと考えています。しかし、このコード内には、すべてのロールを表示する 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 --