0

我正在尝试根据先前选择的下拉菜单更改下拉菜单。我可以用 jQuery 编写函数。

由于我无法在基于服务器的各种安装中使用 URL 路径,因为我必须将 URL 硬核到脚本中。

<script type="text/javascript">
function getCategory(){
    var industryId = $("#CompanyCompanyIndustryId").val();
    $.getJSON('http://localhost/gitgrow/users/fetch/'+industryId, function(data) {
        var options = '';
        $.each(data, function(key, value) { 
          options += '<option value="' + key + '">' + value + '</option>';
        });
        $("#CompanyCompanyCategoryId").html(options);
    })
}
</script>

如何使用 CakePHP 和 JS 组件实现相同的功能?

4

1 回答 1

1

您可以在页面中编写您的 javascript,并使用它$this->Html->url来构建您的 URL 值。只需将其写入$this->Html->scriptBlock();并添加'inline'=>false以使其写入头部而不是文档的该点:

$this->Html->scriptBlock("
    function getCategory(){
        var industryId = $(\"#CompanyCompanyIndustryId\").val();
        $.getJSON('" . $this->Html->url(array('controller'=>'users', 'action'=>'fetch', $industryId)) . ", function(data) {
            var options = '';
            $.each(data, function(key, value) { 
              options += '<option value=\"' + key + '\">' + value + '</option>';
            });
            $(\"#CompanyCompanyCategoryId\").html(options);
        })
    }
", array('inline'=>false));

<head>现在您有了在(或您希望的任何其他地方)中生成的 javascript ,并且正在使用 CakePHP 构建 URL。

于 2012-07-05T13:42:40.333 回答