在表单中,我有一个简单的下拉输入列表,其中填充了来自控制器的数据。 这是输入字段:
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 数组填充它们?
答案 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);
});