0

编辑块时,“添加块”表单会插入带有数据库数据的输入字段。新的空输入文本字段也可以通过同一表单上的按钮添加。

自动和手动插入代码相同:

<script type="text/javascript">    
$(function(){
    // Auto insert inputs with values from DB
    var price = $('<td><?php echo $form->text('prices[]', $row['price'], ['class' => "decimals"]); ?></td>');
    // Manually insert inputs with the button
    $("#add").click(function() {
        var price = $('<td><?php echo $form->text('prices[]', '', ['class' => "decimals"]); ?></td>');
    });
    // Check if only numeric keys pressed
    $('.decimals').keydown(function (e) {
    ...
    });

自动和手动插入的输入都有“小数”类(在浏览器控制台中验证)。$('.decimals').keydown 只允许按数字键,不能按字母。

但问题是“小数”类仅处于活动状态,即 keydown 仅适用于自动插入的输入,而不适用于手动插入的输入,尽管后者有它。

为什么无法识别“小数”类或按键无法处理手动添加的输入?

[解决了]

感谢基思,改变

$('.decimals').keydown(function (e) {

$('#build_table').on('keydown', '.decimals', function(e) {

工作!

PS。在哪里<tbody id="build_table">

参考。http://api.jquery.com/on/了解有关委托事件的更多信息

4

0 回答 0