**Do you want to request a *feature* or report a *bug*?**
Report a bug.

**What is the current behavior?**
`<select>` element's `onChange` event is fired with incorrect `selectedIndex` and `value`, like it hasn't actually changed. This happens only if the element has been rendered under another React DOM root, see the example in the link below.

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem**
https://jsfiddle.net/martinsb/wd54vmmj/7/

**What is the expected behavior?**
`onChange` callback handlers should receive events with those values that user has actually selected. In the test case above, for example, when choosing "Two", I expect to have the following console output: `Change event, selectedIndex: 1, value: 2`

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
The bug is observed with `react` and `react-dom` packages version `16.0.0-beta.3`. Latest stable version (`15.6.1`) works just fine.

if (inst == null) {
    return;
  }
  
  let state = inst._wrapperState || node._wrapperState;
  if (!state || !state.controlled || node.type !== 'number') {
    return;
  }
  
  let value = '' + node.value;
  if (node.getAttribute('value') !== value) {
    node.setAttribute('value', value);
  }
}
/**
 * This plugin creates an `onChange` event that normalizes change events
 * across form elements. This event fires at a time when it's possible to
 * change the element's value without seeing a flicker.
 *
 * Supported elements are:
 * - input (see `isTextInputElement`)
 * - textarea
 * - select
 */
var ChangeEventPlugin = {
  eventTypes: eventTypes,
  extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {