在CakePHP中动态创建和填充表单域

时间:2013-10-07 11:14:29

标签: cakephp cakephp-2.3

在表单中,我有一个简单的下拉输入列表,其中填充了来自控制器的数据。 这是输入字段:

echo $this->Form->input('user_id', array('label'=>'Employee'));

以及我如何填充它:

    $employees = $this->User->getEmployeeList($this->Auth->user('company_id'));
$this->set('users', $employees);

现在我需要允许用户动态创建这些员工下拉菜单。我以为我会使用jQuery添加字段所需的HTML,但是如何使用相同的 $ employees 数组填充它们?

1 个答案:

答案 0 :(得分:1)

你必须写一些javascript或jquery插件才能做到这一点。因此,在view.ctp文件中将this-> User-> getEmployeeList($ this-> Auth-> user('company_id'))转换为javascript变量。在click事件中创建新元素时填充值为:

的字段
var employeeList= <?=$users?>
$('#addVar').on('click', function(){
varCount++;
$node = $('<p><label for="var'+varCount+'">Employee '+varCount+': </label><input type="text" name="var'+varCount+'" id="var'+varCount+'"><span class="removeVar">Remove Employee</span></p>').val(employeeList);
$(this).parent().before($node);
});