React Base Fiddle (JSX)

Starting point for creating JSFiddles with React. This uses React with Addons.

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/JSXTransformer.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/react-with-addons.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
<script src="ttps://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
<script src="https://raw.githubusercontent.com/rolandsusans/react-chosen/master/react-chosen.js"></script>

<div>
    Single select:
    <div id="single"></div>
</div>
<br>
<div>
    Multiselect:
    <div id="multiple"></div>
</div>


<div id="single-values"></div>
<div id="multiple-values"></div>

JavaScript 1.7

const SINGLE = 'single';
const MULTIPLE = 'multiple';
 
/**
 * React class that renders each option
 */
var Option = React.createClass({
    render: function(){
       return (
           <option  key={this.props.value} value={this.props.value}> {this.props.label} </option>
       );
   }
});

var ChosenComponent = React.createClass({
    getInitialState: function (){
        return {
            chosenType: this.props.chosenType,
        };
    },
    /**
     * This method is called when value is selected by user
     * @param selected
     */
    handleSelect:function(selected){
      this.props.handleChange(selected);
    },
    /**
     * According to @see this.state.chosenType
     * renders multiple or single choise component
     *
     * @param options
     * @param valueSelected
     * @returns {XML}
     */
    renderChosen: function(options, valueSelected){
            if(this.state.chosenType == SINGLE){
                return (
                    <Chosen defaultValue={valueSelected} onChange={this.handleSelect}  width={"250px"}>
                        {options.map(function (option) {
                            return (
                                <Option key={option.value} value={option.value} label={option.label}/>
                            )
                        }, this)}
                    </Chosen>
                );
            }else if(this.state.chosenType == MULTIPLE){
                return (
                    <Chosen defaultValue={valueSelected}
                    placeholderTextMultiple={this.props.placeholderTextMultiple} 
                    onChange={this.handleSelect} 
                    ref={'reactChosen'} 
                    multiple
                    width={"250px"}
                   >
                        {options.map(function (option) {
                            return (
                                <Option key={option.value} 
                                value={option.value} 
                     ...