0

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

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数组填充它们?

4

1 回答 1

1

您必须为此编写一些 javascript 或 jquery 插件。因此,在您的 view.ctp 文件中,将 this->User->getEmployeeList($this->Auth->user('company_id')) 转换为 javascript 变量。当您在单击事件中创建新元素时,填充字段值:

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);
});
于 2013-10-07T21:22:51.923 回答