You would need to use something like this:
this.parentNode.parentNode.getElementsByTagName('input')[0].click()
To click on the first input element in the row this event was triggered.
Cheers,
Tiago Simões

Tiago's answer should get you there, but just so that you know there is an alternative way to do what you want. If you fill the Name property of your button (i.e. MyButton), which I think you already did, the button runtime Id will become available as a property on the Expression Editor. Meaning you can reference it in any Expression you write.

In fact, you should try not to hardwire your Id's in javascript and instead use this technique. This will allow you to seamlessly change names without breaking any client-side code.

So, just to make it clear, the steps you should take are:
1 - Create the table records (TableRecords1) and create one button in one column making it invisible.
2 - Fill the name property for that button
3 - On your onchange event, use "javascript : document.getElementById('"+Mybutton.Id+"').click();"
4 - Inside the action triggered by your button, you can use TableRecords1.Current to access the record associated to that specific line (you don't really need to pass Id's...)

One extra tip. Avoid using document.all as this is not standards compliant and will break on some browsers.