【问题标题】:Ajax call from CakePHP来自 CakePHP 的 Ajax 调用
【发布时间】:2015-02-13 19:07:32
【问题描述】:

我是 cakephp 新手。我想更新对应于不同下拉列表的下拉列表。互联网上的大多数教程都已过时。 这是我的脚本文件

<script type="text/javascript">
            $(document).ready(function($){
                    $('#city_change').change({
                            source:'<?php echo $this->Html->url(array("controller" =>"officers","action"=> "locality_ajax")); ?>
                    });
            });
</script>

我在控制器中的操作

public function locality_ajax() {
            $city_name = $this->request->data['Post']['city']; 

            $locality = $this->Locality->find('all', array(
                'conditions' => array('city_name' => $city_name),
            ));
            $this->set('locality',$locality);
            $this->layout = 'ajax';
        }

任何帮助将不胜感激

【问题讨论】:

标签: php jquery ajax cakephp


【解决方案1】:

如果框架没有大量支持,您应该选择 CodeIgniter 或广泛使用的东西,所以如果您遇到困难,可以使用论坛和该框架的大量其他帮助。

CakePHP 是 PHP,它运行在 JQuery、CSS 和其他 Web 标准上。如果没有 cakephp 的内置函数,您不必使用它。您可以在框架中创建自己的 PHP 函数,因为它在 PHP 上运行,所以如果没有帮助,您也可以。

假设您有 2 个选择下拉菜单,并且您想要更新对应于不同下拉菜单的下拉菜单,您可以这样做:

<select name="select1" id="category">
    <option value="0">None</option>
    <option value="1">First</option>
    <option value="2">Second</option>
    <option value="3">Third</option>
    <option value="4">Fourth</option>
</select>

<select name="items" id="select2">

    <option value="3" label="1">Smartphone</option>
    <option value="8" label="1">Charger</option>

    <option value="1" label="2">Basketball</option>
    <option value="4" label="2">Volleyball</option>
</select>

将此 JQuery 添加到您的文件或视图中:

$("#category").change(function() { 
if($(this).data('options') == undefined){
    /*Taking an array of all options-2 and kind of embedding it on the select1*/
    $(this).data('options',$('#select2 option').clone());
    } 
var id = $(this).val();
var options = $(this).data('options').filter('[label=' + id + ']');
$('#select2').html(options);
   // alert(options);
});

这是一个 JSFiddle:http://jsfiddle.net/PnSCL/2/ 如果你想实验。

【讨论】:

  • 感谢您的回复。但问题是我想根据字段1中选择的值动态从数据库中获取值。
猜你喜欢
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2012-02-03
  • 1970-01-01
相关资源
最近更新 更多