JSFiddle - React, Tailwind, and code Playground

by olymccollum

HTML

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?2.4.6"></script>

<div id="results-1" data-role="page">

        <div data-role="header" data-position="fixed" data-transition="none">
            <h1>rallyscore.net</h1>
            <a href="/" data-icon="home" data-ajax="false">Home</a>
            <div data-role="navbar">
                <ul>
                    <li><a href="#schedule">Schedule</a></li>
                    <li><a href="#classes">Classes</a></li>
                    <li><a href="#entry-list">Entries</a></li>
                    <li><a href="#final-results">Results</a></li>
                </ul>
            </div><!-- /navbar -->
        </div><!-- /header -->

        <div data-role="content">
    
            <h2>Dogleap Rally</h2>
            <p class="event-date">04 August 2012</p>
        
            <div data-role="fieldcontain">
    <fieldset data-role="controlgroup" data-type="horizontal">
        <legend>Sort results by:</legend>
             <input type="radio" name="radio-choice-2" id="radio-choice-21" value="overall" checked="checked" />
             <label for="radio-choice-21">Overall</label>

             <input type="radio" name="radio-choice-2" id="radio-choice-22" value="stage"  />
             <label for="radio-choice-22">Stage</label>

    </fieldset>
</div>
        
            <ul class="stageResults sortableResults" data-role="listview" data-inset="true">
                <li data-role="list-divider">SS1 - Stage 1 results</li>
                <li data-stage-order="1" data-overall-order="1" data-class="9">
                    <h3>119 Derek McGeehan / Alan McGeehan</h3>
                    <span class="quarter car"><label for="car">Car:</label><span id="car">Class 9 - Mini WRC</span></span>
                    <span class="quarter stageTime"><label for="stageTime">Stage time:</label><span id="stageTime">1st -...

JavaScript

$(function(){
    var sortOrder = 'overall';
    
    $('input[name="radio-choice-2"]').change(function(){
        if($(this).val() != sortOrder){
            /*$('ul.sortableResults li').sort(function(a, b){
                if (sortOrder == 'overall') {
                    a = $(a).attr('data-overall-order');
                    b = $(b).attr('data-overall-order');
                } else {
                    a = $(a).attr('data-stage-order');
                    b = $(b).attr('data-stage-order');
                }
                
                //return (isNaN(a) || isNaN(b) ? a > b : +a > +b) ? 1 : -1;
                return parseInt(a) > parseInt(b) ? 1 : -1;
            });*/
            if (sortOrder == 'overall') {
                d3.selectAll("ul.sortableResults li")
                    .map(function() { return this.dataset; })
                    .sort(function(a, b) { return d3.ascending(a.overall-order, b.overall-order); });
            }else{
                d3.selectAll("ul.sortableResults li")
                    .map(function() { return this.dataset; })
                    .sort(function(a, b) { return d3.ascending(a.stage-order, b.stage-order); });
            }
            
            sortOrder = $(this).val();
        }
    });
      
});