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 に答える