Checkboxes to ranked list
Try this:
DynamicModule[{pos = Range[3]},
Panel[Row[{Column[{"Controls",
CheckboxBar[Dynamic[pos],
{1 -> "a", 2 -> "b", 3 -> "c"},
Appearance -> "Vertical"]}],
Column[{"Ranks",
Dynamic[Pane[ReplacePart[{0, 0, 0},
Thread[pos ->
Range[Length[pos]]]]]]}]}]]]
DynamicModule[{pos = Range[3]}, Panel @ Grid @ {{"Controls", "Ranks"},
{CheckboxBar[Dynamic[pos], {1 -> "a", 2 -> "b", 3 -> "c"}, Appearance -> "Vertical"],
Dynamic @ Normal @ SparseArray[MapIndexed[# -> #2[[1]] &, pos], 3]}}]
Alternatively, using the second argument of Dynamic
to update ranks,
DynamicModule[{pos = Range[3], ranks = Range[3]},
Panel @ Grid @ {{"Controls", "Ranks"},
{CheckboxBar[Dynamic[pos,
(pos = #; ranks = Normal@SparseArray[MapIndexed[# -> #2[[1]] &, #], 3]) &],
{1 -> "a", 2 -> "b", 3 -> "c"}, Appearance -> "Vertical"], Dynamic @ ranks}}]