This is much better, but I don't think this is going to be very helpful to the developer. I would pass them (1) the value of the PK column of the row, and (2) the value (true or false) of the box. 

So:

```js
self.options.onColumnValueChanged(
    primaryKey != null ? primaryKey : rowIndex,
    input.prop('checked')
);
```

Here, it gives them exactly the information they need without having to deal with an `input[type="checkbox"]`. Otherwise, it still leaves a lot of repetitive implementation details up to the developer.