Find adjacent field fast

by Michel Plungjan

HTML

<table border=1 width="75%" id="myTable">
    <thead>
        <tr>
            <th>col1</th>
            <th>col2</th>
            <th>col3</th>
            <th>col4</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <select>
                    <option>Spiderman</option>
                    <option>Badman</option>
                    <option>IronMan</option>
                    <option>Hulk</option>
                </select>
            </td>
            <td>
                <select>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                    <option>5</option>
                    <option>6</option>
                </select>
                  </td>
            <td>
                <select>
                    <option value="key1">Key1</option>
                    <option value="key2">Key2</option>
                    <option value="Key3">Key3</option>
                    <option value="key4">Key4</option>
                </select>
                <button type="button" class="get-col3-value">getValue</button>
            </td>
            <td>
                Blank
            </td>
        </tr>
        <tr>
            <td>
                <select>
                    <option>Spiderman</option>
                    <option>Badman</option>
                    <option>IronMan</option>
                    <option>Hulk</option>
                </select>
            </td>
            <td>
                <select>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                    <option>5</option>
                    <option>6</option>
                </select>
                  </td>
            <td>
                <select>
                    <option value="key1">Key1</option>
                    <option...

JavaScript

$(function(){
    $("#myTable").on('click', '.get-col3-value', function(){ 
        var find1 = $(this).closest('td').find(':selected').val(); // first up, then down is not elegant
        var find2 = $(this).closest('td').children().eq(0).val();  // ditto
        var find3 = $(this).siblings().val(); // ok if only a few       
        var find4 = $(this).prev().val(); // best if adjacent
        alert(find1 + "\n" + find2+"\n" + find3+"\n" + find4);
    });
});