CakePHP链接插件下拉列表未链接

时间:2017-02-24 03:07:37

标签: php jquery mysql cakephp chained

我正在尝试使用Chained插件来限制用户选择错误国家/地区的城市。在我没有选择国家的那一刻,它让我从所有城市中选择。但是一旦我选择了一个国家,它就不会让我选择任何城市。我已经使用Chained网站上的代码正确使用此插件。 我的破碎国家/城市版本可以在这里看到 登录:访客 密码:密码 http://team.southpacificavionics.com/customers/add 如果你更改"添加"我的测试版本可以看到在那个网址上"测试" (对不起,我无法发布更多链接)。 我使用./cake烘焙来创建我的客户,国家和城市的控制器,模型,模板和关键关系。

You can see from this image that the cities are linked to countries

这是我的客户add.ctp

 <?php echo $this->Html->script('jquery.min'); ?>
 <?php echo $this->Html->script('jquery.chained'); ?>

<script type="text/javascript">
    $(document).ready(function () {
        $("#cities").chained("#countries");
    });
</script>

<script type="text/javascript">
    $(document).ready(function () {
        alert('java is working');
    });
</script>

<?php
/**
  * @var \App\View\AppView $this
  */
?>

<div class="customers form large-9 medium-8 columns content">
    <?= $this->Form->create($customer) ?>
    <fieldset>
        <legend><?= __('Add Customer') ?></legend>

        <?php
            echo $this->Form->input('country_id', ['options' => $countries, 'empty' => true,'id'=>'countries']);
            echo $this->Form->input('city_id', ['options' => $cities, 'empty' => true,'id'=>'cities']);

        ?>
    </fieldset>

    <?= $this->Form->end() ?>

这是我的mysql代码

CREATE TABLE IF NOT EXISTS `southpac_team`.`customers` (
  `id` INT NOT NULL,
  `country_id` INT NULL,
  `city_id` INT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `southpac_team`.`countries` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(100) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `southpac_team`.`cities` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `country_id` INT NOT NULL,
  `name` VARCHAR(100) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

1 个答案:

答案 0 :(得分:1)

您没有在城市下拉菜单中添加课程,但您应在城市下拉列表中将国家/地区ID添加为课程

pic

如何在CakePHP下拉列表中添加类

$items = $this->Cities->find('all')->all()->toArray();
        $cities = [];
        foreach ($items as $key => $value) {
              $cities[$key]['value'] = $value['id'];
              $cities[$key]['text'] = $value['indent_no'];
              $cities[$key]['class'] = $value['country_id'];
        }

了解更多支票extra attribute in dorpdown