0

我试图让返回键充当制表键,但它不适用于表格。这是小提琴

当我移除桌子并使用它时,我不确定是什么导致它无法正常工作<br />。它也适用于 jQuery 计算器功能。认为这是导致问题的原因,但事实并非如此。我不确定我是否要求 jQuery 做一些图书馆会更好的事情。

HTML

<table border="1">
    <tr>
        <td id="larger">field 1</td>
        <td>
            <input type="text" id="sum1" name="sum1" class="sum" size="15" border="0"
            />
        </td>
        <td>
            <input type="text" id="sum2" name="sum2" class="ttw" size="15" />
        </td>
        <td>
            <input name="cash" type="text" class="cash" id="cash1" value="" size="15"
            />
        </td>
    </tr>
</table>

jQuery

$('table:input').keydown(function (event) {
    if (event.which == 13) {
        if (!$(this).hasClass("last")) {
            event.preventDefault();
            $(this).nextAll('input:first').focus();
        } else {
            $("form").submit();
        }
    }
});
$(function () {
    $('input[name^=sum]').keyup(function () {
        var sum1 = parseFloat($('input[name=sum1]').val(), 2) || 0; // Or parseInt if integers only
        var sum2 = parseFloat($('input[name=sum2]').val(), 2) || 0;
        $('#cash1').val(sum1 + sum2);
    });
});
$(function () {
    $('input#cash1').blur(function () {
        var amt = parseFloat(this.value, 2) || 0;
        $(this).val('' + amt.toFixed(2));
    });
});
4

3 回答 3

1

你可以做类似http://jsfiddle.net/Beyq7/6/

$(this).parent().next().children('input:first').focus();

于 2013-02-06T23:17:08.870 回答
0

您查找下一个输入的选择器错误...尝试以下http://jsfiddle.net/Beyq7/4/

 $(this).parent().next().find('input').focus();

此外,在绑定按键事件时,您没有正确定位输入,请使用:

$('table input')
于 2013-02-06T23:13:24.250 回答
0

这是我的解决方案。您需要更新您的标记,以便最后一个输入具有类last并将您的选择器更改为td input. 然后您的选择器获取下一个输入可能如下所示$(this).parent().next().find('input').focus();

那应该行得通。

JS 小提琴http://jsfiddle.net/bFRnf/

于 2013-02-06T23:24:59.730 回答