I hacked something together that does what I want, but I'm sure theres a more elegant solution. Please let me know.
#!C:/Perl/bin/perl.exe
use strict;
use warnings;
use CGI;
use CGI::Ajax;
my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'update' => \&update_options,
'update2' => \&update_options2);
my @item1 = qw(1 2 3 4 5);
my @item2 = qw(1 2 3 4 5);
my $html = '<HTML>
<HEAD><title>CGI::Ajax Example</title>
</HEAD>
<BODY>';
$html .= '<div id="data1"><SELECT name=\"TEST\" id="val1" onchange="up
+date( [\'val1\',\'NO_CACHE\'], [\'data2\'] );">\n';
$html .= populate_list_box(@item1);
$html .= "</SELECT><BR></div>\n";
$html .= '<div id="resultdiv"></div><hr>';
$html .= '<div id="data2"><SELECT name=\"TEST\" id="val2" onchange="up
+date2( [\'val2\',\'NO_CACHE\'], [\'resultdiv2\'] );">\n';
$html .= populate_list_box(@item2);
$html .= "</SELECT><BR></div>\n";
$html .= '<div id="resultdiv2"></div>';
$html .= '
</BODY>
</HTML>';
print $pjx->build_html($cgi,$html);
sub populate_list_box {
my @array = @_;
my $htmlCode = "";
foreach (@array) {
my $selected = "";
$htmlCode .= "<option value=\"$_\" $selected>$_</option>\n";
}
return $htmlCode;
}
sub update_options {
my $input = shift;
my @item2 = qw(11 12 13 14 15);
my $html = '<SELECT name=\"TEST\" id="val2" onchange="update2( [\'
+val2\',\'NO_CACHE\'], [\'resultdiv2\'] );">\n';
$html .= populate_list_box(@item2);
$html .= "</SELECT><BR>\n";
return $html;
}
sub update_options2 {
my $input = shift;
return $input;
}
|