我有两个表用户和部门,其中部门有两个字段ID和名称我想创建一个视图,这样当有人从下拉列表中选择一个部门名称时,该部门中用户的所有名称都显示在另一个部门中使用AJAX下拉列表以及如何在控制器中调用
<script>
jQuery(document).ready(function ($) {
//jQuery('#searchTable').dataTable();
$('#department_id').change(function () {
jQuery('#user').empty();
var data2 = {};
data2['department_id'] = jQuery(this).val();
var json = JSON.stringify(data2);
jQuery.ajax({
type: "POST",
url: "/AjaxRequests/name",
data: json,
dataType: "json",
success: function (response) {
var app = "<option value>All</option>";
jQuery('#user').append(app);
jQuery.each(response, function (i, text) {
jQuery('#user').append(jQuery('<option></option>').val(i).html(text));
});
}
});
});
</script>
这是我正在使用的脚本 在视图中,部门下拉列表就像这样
<?php echo $this->Form->input('department_id', array('onChange' => 'showFields(this.value)', 'class' => 'form-control-custom', 'id' => 'department_id', 'type' => 'select', 'label' => true, 'label' => 'department:', 'options' => $departments, 'empty' => 'Select A Department', 'required' => 'false'))
?>
任何人都可以帮助我使用这个ajax和控制器
答案 0 :(得分:0)
根据您的代码,您可以尝试将'id' => 'department'
替换为'id' => 'department_id'
。因为在这里您可以使用 department_id 作为选择器,但您的 department_id ID未在下拉列表中声明。在这里,您将部门声明为ID。所以找不到选择器。所以只需将'id' => 'department'
替换为''id'=&gt; 'department_id'',希望它对你有所帮助。