0
my ($self, $c) = @_;
$c->stash->{buildallinfo}=$c->model('DB::misc')->getTestInformation();

Buildall info dump is like :

Apple => type2=>[2,3]
     type4=>[2,1]

Mango => type6=>[2,3]
     type2=>[2,1]

How to render them in drop down box if drop down one chanes automatically drop down 2 should change?

= apple changes

it should automatically change another it will have list of type2,4 thenn if thats selected it should show 2,3

how to achive this. I am not all getting right solution for this.

4

1 回答 1

0

下拉菜单中的内容操作是客户端功能,必须由 javascript 处理。对于 Catalyst 和 TT,他们的工作是在页面呈现时完成的——任何超出此范围的操作都是其他人的问题。

这意味着在您的模型、Catalyst 和 TT 之间,必须做出安排以使数据可用于 javascript。换句话说,模板工具包中的一两行可确保您需要使用 javascript 访问的任何存储内容都转换为 javascript 变量。

通常,我会使用一些 jQuery 沿着这些思路做一些事情:

[% USE JSON.Escape %]

<script>
    var buildallinfo = [% buildallinfo.json %];
    // we now have a JS variable that matches the structure of the perl stash variable
    $('#select_1').change(function(){
         // adjust content of #select_2 using normal JS techniques
         // $.grep(buildallinfo, ...) or whatever
    });
</script>
于 2013-05-22T03:24:46.017 回答