
So I have a number of cycling buttons as per CSS_Wizardry#Cycling_Button but using the old method. Here's one: <div class="sheet-box"> <input type="radio" class="sheet-box sheet-b0" name="attr_box01" value="0" checked> <input type="radio" class="sheet-box sheet-b1" name="attr_box01" value="1"> <input type="radio" class="sheet-box sheet-b2" name="attr_box01" value="2"> <input type="radio" class="sheet-box sheet-b3" name="attr_box01" value="3"> <input type="radio" class="sheet-box sheet-b4" name="attr_box01" value="4"> <span class="sheet-box sheet-b0"><input style="background:url(...);" type='text' disabled='true' name='attr_main' /></span> <span class="sheet-box sheet-b1"><input style="background:url(...);" type='text' disabled='true' name='attr_main' /></span> <span class="sheet-box sheet-b2"><input style="background:url(...);" type='text' disabled='true' name='attr_main' /></span> <span class="sheet-box sheet-b3"><input style="background:url(...);" type='text' disabled='true' name='attr_main' /></span> <span class="sheet-box sheet-b4"><input style="background:url(...);" type='text' disabled='true' name='attr_main' /></span> </div> Where the ...s represent links to different images. Here's the CSS: div.sheet-box { width: 77px; height: 77px; position: relative; border-color: transparent; } input.sheet-box { width: 77px; height: 77px; position: absolute; z-index: 1; opacity: 0%; border-color: transparent; } span.sheet-box { margin: 0px 0 0 0px; display: none; border-color: transparent; } input.sheet-b0 { z-index: 2; } input.sheet-b0:checked + input.sheet-b1, input.sheet-b1:checked + input.sheet-b2, input.sheet-b2:checked + input.sheet-b3, input.sheet-b3:checked + input.sheet-b4 { z-index: 3; } input.sheet-b0:checked ~ span.sheet-b0, input.sheet-b1:checked ~ span.sheet-b1, input.sheet-b2:checked ~ span.sheet-b2, input.sheet-b3:checked ~ span.sheet-b3, input.sheet-b4:checked ~ span.sheet-b4 { display: inline-block; } What it does is display only one of the five images at a time and by clicking on the image it will switch to the next one in order, cycling back round to the first one (sheet-b0) after the last. Now what I'm trying to do is run a calculation based on the value associated with the image currently being displayed and then use the result of that calculation for something else. I can do a simple calculated field like: <input type="number" name="attr_sum" value="(@{box01}+@{box02})" disabled="true" /> And that will give me the correct result. For example, if box01 is showing its #2 image and box02 is showing its #3 image then the calculated field will return 5. Great. Problem is, the 'something else' that needs that result won't pick it up from a disabled input. And the input won't calculate itself without being disabled. So somehow I need to get that calculated result into a non-disabled input. I've tried a sheet-worker like so: <input type="number" name="total" /> <script type="text/worker"> on("change:box01 change:box02", function () { getAttrs(['box01', 'box02'], function(values) { let box01 = +values.box01 || 0; let box02 = +values.box02 || 0; setAttrs({ total: box01 + box02 }); }); }); </script> And this works for any normal attributes but not ones used in cycling buttons like I've done with box01 up above. Can anyone please advise on how to make the sheet-worker play ball? Or another means to get a calculation into a non-disabled input?