--- loncom/homework/optionresponse.pm 2010/02/05 20:54:33 1.160 +++ loncom/homework/optionresponse.pm 2010/02/05 21:38:41 1.161 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.160 2010/02/05 20:54:33 www Exp $ +# $Id: optionresponse.pm,v 1.161 2010/02/05 21:38:41 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -190,13 +190,14 @@ sub end_foilgroup { my $TeXlayout=&Apache::lonxml::get_param('TeXlayout',$parstack,$safeeval, -2,0); + my $checkboxvalue=&Apache::lonxml::get_param('checkboxvalue',$parstack,$safeeval); if ($target eq 'tex' && $tex_option_switch eq 'nochoice') {@opt=();} &Apache::lonxml::debug("Options are $#opt"); my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2'); my $randomize = &Apache::lonxml::get_param('randomize',$parstack, $safeeval,'-2'); if ($target eq 'web' || $target eq 'tex') { - $result.=&displayfoils($target,$max,$randomize,$TeXlayout,@opt); + $result.=&displayfoils($target,$max,$randomize,$TeXlayout,$checkboxvalue,@opt); $Apache::lonxml::post_evaluate=0; } elsif ( $target eq 'answer') { $result.=&displayanswers($max,$randomize,@opt); @@ -360,8 +361,12 @@ sub displayanswers { } sub check_box_opt { -# Check if we are in checkbox mode. If so, return "checked" value - return ''; + my ($target,$checkboxvalue,@opt)=@_; +# Check if we are in checkbox mode: checkboxvalue specified, on web, only two options. +# If so, return "checked" value + if ($#opt!=1) { return ''; } + if ($target ne 'web') { return ''; } + return $checkboxvalue; } sub check_for_invalid { @@ -386,7 +391,7 @@ sub check_for_invalid { } sub displayfoils { - my ($target,$max,$randomize,$TeXlayout,@opt)=@_; + my ($target,$max,$randomize,$TeXlayout,$checkboxvalue,@opt)=@_; if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;} my @names = @{ $Apache::response::foilgroup{'names'} }; my @truelist; @@ -432,7 +437,7 @@ sub displayfoils { my $temp=1; my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"}); my $internal_counter=$Apache::lonxml::counter; - my $checkboxopt=&check_box_opt(); + my $checkboxopt=&check_box_opt($target,$checkboxvalue,@opt); if ($checkboxopt) { $result.='
'.&mt('Choices: ').''.$opt[0].','.$opt[1].'. '. &mt('Select all that are [_1].',$checkboxopt);