@PVLove
Yes, I understand...this is what we are getting to and thus the questions.
The general concept is this (assuming your gallery is now outside of the form):
1) You will need to utilize a variable or reference for the Item property of the form! If you are setting a variable to the record to edit, then this is fine. If you are referencing a control (like a Gallery.Selected), that is fine. If you are doing a LookUp in the Item property, then this will need to be changed. If any question on this, please provide your Item property for the form.
For the purpose of the rest of this instruction list, I will assume a variable and I will call it glbCurrentRecord. Replace as appropriate.
2) The Gallery would have the same Items property as you have before.
3) In the Gallery, you will also have a TextInput control. That control would have a Visible property set to:
ThisItem.Value = "Other" && checkBoxName.Value
It would have a Default property of: glbCurrentRecord.ChangeTypeOther
4) For your checkbox in the gallery:
The Default would be: ThisItem.Value in glbCurrentRecord.ChangeType
The Text property would be: ThisItem.Value
5) In the ChangeType datacard in the form, the Update property would be:
ForAll(Filter(yourGalleryName.AllItems, checkBoxName.Value), {Value: Value})
6) The Update property of the ChangeTypeOther datacard would be:
LookUp(yourGalleryName.AllItems, checkBoxName.Text = "Other" && checkBoxName.Value, TextInputControlName.Text)
That is it. It should all work then from there. You can get rid of all the OnCheck and OnUncheck actions. They are not needed.