JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css">
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-1.2.1.js"></script>
<!DOCTYPE html>
<html>
  <head>
    <title>Knockout Demo</title>
  </head>

  <body>
  
    <div data-role="page" id="master">
      <div data-role="header">
        <h1>Knockout Demo</h1>
      </div>
      <div data-role="content" id="content">

          New item:
          <input data-bind='value: itemToAdd, valueUpdate: "afterkeydown"' />
          <button data-bind="click: addItem, jQueryButtonEnable: itemToAdd().length > 0">Add</button>

          <p>Your items:</p>
          
          <div data-role="fieldcontain">
            <label for="selectbox">Choose:</label>
            <select id="selectbox" data-native-menu="false" data-bind="jqmOptions: items"> </select>
          </div>
      </div>
    </div>
  </body>
</html>

JavaScript

function resetButton(button) {
  setTimeout(function() {
    $(button).removeClass('ui-btn-active');
  }, 500);
}

 
 $(document).ready(function () {

   $("a[data-role='button']").live('click', function() {
     resetButton($(this));
   });
 
   var viewModel = {};
   viewModel.items = ko.observableArray(["Alpha", "Beta", "Gamma"]);
   viewModel.itemToAdd = ko.observable("");
   viewModel.addItem = function () {
     if (viewModel.itemToAdd() != "") {
       viewModel.items.push(viewModel.itemToAdd()); 
       viewModel.itemToAdd("");
     }
   };
 
 
   ko.bindingHandlers.jQueryButtonEnable = { 
     update: function(element, valueAccessor) { 
       ko.bindingHandlers.enable.update(element, valueAccessor); 
       var value = ko.utils.unwrapObservable(valueAccessor()); 
       $(element).button(value ? "enable" : "disable"); 
     }   
   }; 
     
   ko.bindingHandlers.jqmOptions = { 
     update: function(element, valueAccessor, allBindingsAccessor, context) { 
       ko.bindingHandlers.options.update(element, valueAccessor, allBindingsAccessor, context); 
       $(element).selectmenu("refresh"); 
     } 
   };
  
   ko.applyBindings(viewModel);

});