diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index f77c991e5..e9f437a4a 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -724,7 +724,14 @@ FW_makeTable($$$@) FW_makeEdit($name, $n, $val); } else { - FW_pO "
$n
"; + if( $title eq "Attributes" ) { + FW_pO "
". + "". + "$n
"; + } else { + FW_pO "
$n
"; + } + if(ref($val)) { #handle readings my ($v, $t) = ($val->{VAL}, $val->{TIME}); $v = FW_htmlEscape($v); @@ -738,33 +745,27 @@ FW_makeTable($$$@) } } else { $val = FW_htmlEscape($val); - # if possible provide link to reference + + # if possible provide som links if ($n eq "room"){ - my @tmp; - push @tmp,FW_pH("room=$_" , $_ ,0,"",1,1)foreach(split(",",$val)); - FW_pO "
" - .join(",",@tmp) - ."
"; + FW_pO "
". + join(",", map { FW_pH("room=$_",$_,0,"",1,1) } split(",",$val)). + "
"; + } elsif ($n eq "webCmd"){ - my @tmp; - push @tmp,FW_pH("cmd.$name=set $name $_&detail=$name" , $_ ,0,"",1,1)foreach(split(":",$val)); - FW_pO "
" - .join(":",@tmp) - ."
"; - } elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){#special for Floorplan + my $lc = "detail=$name&cmd.$name=set $name"; + FW_pO "
". + join(":", map {FW_pH("$lc $_",$_,0,"",1,1)} split(":",$val) ). + "
"; + + } elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){ #special for Floorplan FW_pH "detail=$1", $val,1; } else { - my @tmp; - foreach(split(",",$val)){ - if($defs{$_}) { - push @tmp, FW_pH( "detail=$_", $_ ,0,"",1,1); - } else { - push @tmp, $_;} - } - FW_pO "
" - .join(",",@tmp) - ."
"; + FW_pO "
". + join(",", map { ($_ ne $name && $defs{$_}) ? + FW_pH( "detail=$_", $_ ,0,"",1,1) : $_ } split(",",$val)). + "
"; } } @@ -798,7 +799,7 @@ FW_makeSelect($$$$) FW_pO FW_hidden("dev.$cmd$d", $d); FW_pO FW_submit("cmd.$cmd$d", $cmd, $class); FW_pO "
 $d 
"; - FW_pO FW_select("","arg.$cmd$d",\@al, $selEl, $class, + FW_pO FW_select("sel.$cmd$d","arg.$cmd$d",\@al, $selEl, $class, "FW_selChange(this.options[selectedIndex].text,'$list','val.$cmd$d')"); FW_pO FW_textfield("val.$cmd$d", 30, $class); # Initial setting diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js index 280a7d5be..ccf20d591 100644 --- a/fhem/www/pgm2/fhemweb.js +++ b/fhem/www/pgm2/fhemweb.js @@ -201,9 +201,15 @@ FW_queryValue(cmd, qFn, qArg) function FW_querySetSelected(el, val) { + if(typeof el == 'string') + el = document.getElementById(el); for(var j=0;j