jQuery有问题。我正在一张桌子上,其中每个<td>都有一个<input>。我使用此命令是为了使Tab键按列前进焦点:

var i = 0;
$('#pl_table tr').each(function () {
    $(this).find('td').each(function (i) {
        $(this).find('input').attr('tabindex', i + 1);
    });
});


我的问题是,如果我使用此代码,则无法从表输入中选择输入值。即使使用鼠标也不要使用Shift +箭头。

表格行看起来像这样:

<tr class='tripRow nopair' id='1'>
    <td class='drop'></td>
    <td id='col1' class='check'>
        <input name='tripRow1[]' type='checkbox' name='maked' value='marked' />
    </td>
    <td id='col2' class='center'>
        <input name='tripRow1[]' type='text' value='' size='2' />
    </td>
    <td id='col3' class='center'>
        <input name='tripRow1[]' type='text' value='' maxlength='10' size='10' readonly />
    </td>
    <td id='col4' class='center'>
        <input name='tripRow1[]' type='text' value='' maxlength='6' size='4' />
    </td>
    <td id='col5' class='center'>
        <input name='tripRow1[]' type='text' value='' maxlength='1' size='1' />
    </td>
    <td id='col6' class='center'>
        <input class='dispatch' name='tripRow1[]' type='text' value='' />
    </td>
    <td id='col7' class='center'>
        <input name='tripRow1[]' type='text' value='' />
    </td>
    <td id='col8' class='center'>
        <input name='tripRow1[]' type='text' value='' maxlength='3' size='3' />
    </td>
    <td id='col9' class='center'>
        <input name='tripRow1[]' type='text' value='' maxlength='10' size='10' />
    </td>
    <td id='col10' class='center'>
        <input name='tripRow1[]' class='timePicker' type='text' value='' maxlength='8' size='8' />
    </td>
    <td id='col11' class='center'>
        <input name='tripRow1[]' class='timePicker' type='text' value='' maxlength='8' size='8' />
    </td>
    <td id='col12' class='center'>
        <input name='tripRow1[]' class='timePicker' type='text' value='' maxlength='8' size='8' />
    </td>
</tr>


我知道这些<td>之一是只读的,但其他人也有问题。我正在使用IE10。

有什么建议?非常感谢您的帮助。

最佳答案

如果我没记错的话,您想按顺序排列,就需要这样的代码,

$(function () {
    var tdLength = $("#pl_table tr:first td").length;
    var k = 0;
    for (var i = 0; i < tdLength; i++) {
        $('#pl_table tr').each(function () {
            $(this).find('td:eq(' + i + ') input').attr('tabindex', k++)
        });
    }
});


JSFiddle DEMO

09-25 22:28
查看更多