首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击“添加自动完成的行td”

单击“添加自动完成的行td”
EN

Stack Overflow用户
提问于 2015-12-01 14:47:56
回答 1查看 1.1K关注 0票数 1

所以我试着在表中的第二行输入字段中显示自动竞争,但是它不工作,我会很感激它,即使它不工作,请帮助我

这是我的autocomplete.js:

代码语言:javascript
复制
 $(".addmore").on('click',function(){
count=$('table tr').length;

var data="<tr><td><input type='checkbox' class='case'/></td><td><span id='snum"+i+"'>"+count+".</span></td>";
data +="<td><input class='form-control' type='text' id='jenisbenang_"+ i +"' name='jenisbenang[]' readonly/></td><td><input class='form-control' type='text' id='warna_"+ i +"' name='warna[]' readonly/></td><td><input class='form-control' type='text' id='lot_"+i+"' name='lot[]'/></td><td><input class='form-control' type='text' id='customer_"+i+"' name='customer[]'/></td><td><input class='form-control' type='text' id='netto_"+i+"' name='netto[]'/></td><td><input class='form-control' type='text' id='box_"+i+"' name='box[]'/></td><td><input class='form-control' type='text' id='cones_"+i+"' name='cones[]'/></td><td><input class='form-control' type='text' id='keterangan_"+i+"' name='keterangan[]'/></td><td class='noborder'><input type='hidden' id='hiddenlot_"+i+"' name='hiddenlot[]' /></td><td class='noborder'><input type='hidden' id='hiddencustomer_"+i+"' name='hiddencustomer[]' /></td></tr>";
$('.table').append(data);
row = i ;
i++;


 $('#lot_'+i).autocomplete({
source: function( request, response ) {
    $.ajax({
        url : 'ajax.php',
        dataType: "json",
        method: 'post',
        data: {
           name_startsWith: request.term,
           type: 'lot',
           row_num : row
        },
         success: function( data ) {
             response( $.map( data, function( item ) {
                var code = item.split("|");
                return {
                    label: code[2],
                    value: code[2],
                    data : item
                }
            }));
        }
    });
},
autoFocus: true,            
minLength: 0,
select: function( event, ui ) {
    var names = ui.item.data.split("|");
    id_arr = $(this).attr('id');
    id = id_arr.split("_");                     
    $('#jenisbenang_'+id[1]).val(names[0]);
    $('#warna_'+id[1]).val(names[1]);
},
open: function() {
    $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
    $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}                           
});
    $('#customer_'+i).autocomplete({
    source: function( request, response ) {
        $.ajax({
            url : 'ajax.php',
            dataType: "json",
            method: 'post',
            data: {
               name_startsWith: request.term,
               type: 'customer',
               row_num : i
            },
             success: function( people ) {
                 response( $.map( people, function( itempeople ) {
                    var code = itempeople.split("|");
                    return {
                        label: code[1],
                        value: code[1],
                        data : itempeople
                    }
                }));
    },
    open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
    },
    close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    }            
        });
    },
    autoFocus: true,            
    minLength: 0            
  });
});


function select_all() {
    $('input[class=case]:checkbox').each(function(){ 
        if($('input[class=check_all]:checkbox:checked').length == 0){ 
            $(this).prop("checked", false); 
        } else {
            $(this).prop("checked", true); 
        } 
    });
}

function check(){
    obj=$('table tr').find('span');
    $.each( obj, function( key, value ) {
        id=value.id;
        $('#'+id).html(key+1);
    });
}                                       

 $('#customer_1').autocomplete({
    source: function( request, response ) {
        $.ajax({
            url : 'ajax.php',
            dataType: "json",
            method: 'post',
            data: {
               name_startsWith: request.term,
               type: 'customer',
               row_num : 1
            },
             success: function( people ) {
                 response( $.map( people, function( itempeople ) {
                    var code = itempeople.split("|");
                    return {
                        label: code[0],
                        value: code[0],
                        data : itempeople
                    }
                }));
            }
        });
    },
    autoFocus: true,            
    minLength: 0,
    select: function( event, ui ) {
        var names = ui.item.data.split("|");                    
        $('#hiddencustomer_1 ').val(names[1]);
    },
    open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
    },
    close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    }               
});

这是我放置脚本和css的标题,对于这段代码,我使用auto.js & jquery-ui.js

代码语言:javascript
复制
echo"<link href='css/bootstrap.css' rel='stylesheet'>
<meta charset='utf-8'>
<link rel = 'stylesheet' href='datatables/media/css/jquery.dataTables.css' type='text/css' />
<link rel = 'stylesheet' href='jquery-ui.css'>
<link rel = 'stylesheet' href='jquery-ui.min.css'>
<script type='text/javascript' src='datatables/media/js/jquery.js'></script>
<script type='text/javascript' src='datatables/media/js/jquery.dataTables.js'></script>
<script type='text/javascript' src='datatables/media/js/jquery.dataTables.min.js'></script>
<script src='js/main.js'></script>
<script src='js/jquery-ui.min.js'></script>‌​
<script src='js/auto.js'></script>
<script src='js/bootstrap.min.js'></script>
<meta name='viewport' content='width=device-width, initial-scale=1'>";

这是我的桌子

代码语言:javascript
复制
<td><input type='checkbox' class='case'/></td>
                                <td><span id='snum'>1.</span></td>
                                <input class='form-control' type='hidden' id='hiddenlot_1' name='hiddenlot[]' />
                                <input class='form-control' type='hidden' id='hiddencustomer_1' name='hiddencustomer_1[]' />
                                <td><input class='form-control' type='text' id='jenisbenang_1' name='jenisbenang[]' readonly/></td>
                                <td><input class='form-control' type='text' id='warna_1' name='warna[]' readonly/></td>                             
                                <td><input class='form-control' type='text' id='lot_1' name='lot[]'/></td>
                                <td><input class='form-control' type='text' id='customer_1' name='customer[]'/> </td>
                                <td><input class='form-control' type='text' id='netto_1' name='netto[]'/> </td>
                                <td><input class='form-control' type='text' id='box_1' name='box[]'/> </td>
                                <td><input class='form-control' type='text' id='cones_1' name='cones[]'/> </td>
                                <td><input class='form-control' type='text' id='keterangan_1' name='keterangan[]'/> </td>

这是我的脚

代码语言:javascript
复制
<script src='js/auto.js'></script>
    <script type='text/javascript' src='js/main.js'></script>
    <script type='text/javascript' src='datatables/media/js/jquery.js'></script>
    <script type='text/javascript' src='datatables/media/js/jquery.dataTables.js'></script>
    <script type='text/javascript' src='datatables/media/js/jquery.dataTables.min.js'></script>
    <link href='datatables/media/css/jquery.dataTables.css' rel='stylesheet' type='text/css'/>";

因此,我的错误保持显示了这个未实现的TypeError:$(.).autocomplete不是一个函数,第2行输入字段不能显示一个自动完成列表

EN

回答 1

Stack Overflow用户

发布于 2015-12-01 14:53:09

只有在加载页面时,才会运行自动完成。你不能叫autocomplete.So把它保存在你的.click()里,

代码语言:javascript
复制
$(".addmore").on('click',function(){
count=$('table tr').length;

var data="<tr><td><input type='checkbox' class='case'/></td><td><span id='snum"+i+"'>"+count+".</span></td>";
data +="<td><input class='form-control' type='text' id='jenisbenang_"+ i +"' name='jenisbenang[]' readonly/></td><td><input class='form-control' type='text' id='warna_"+ i +"' name='warna[]' readonly/></td><td><input class='form-control' type='text' id='lot_"+i+"' name='lot[]'/></td><td><input class='form-control' type='text' id='customer_"+i+"' name='customer[]'/></td><td><input class='form-control' type='text' id='netto_"+i+"' name='netto[]'/></td><td><input class='form-control' type='text' id='box_"+i+"' name='box[]'/></td><td><input class='form-control' type='text' id='cones_"+i+"' name='cones[]'/></td><td><input class='form-control' type='text' id='keterangan_"+i+"' name='keterangan[]'/></td><td class='noborder'><input type='hidden' id='hiddenlot_"+i+"' name='hiddenlot[]' /></td><td class='noborder'><input type='hidden' id='hiddencustomer_"+i+"' name='hiddencustomer[]' /></td></tr>";
$('.table').append(data);
row = i ;
i++;


 $('#lot_'+i).autocomplete({
source: function( request, response ) {
    $.ajax({
        url : 'ajax.php',
        dataType: "json",
        method: 'post',
        data: {
           name_startsWith: request.term,
           type: 'lot',
           row_num : row
        },
         success: function( data ) {
             response( $.map( data, function( item ) {
                var code = item.split("|");
                return {
                    label: code[2],
                    value: code[2],
                    data : item
                }
            }));
        }
    });
},
autoFocus: true,            
minLength: 0,
select: function( event, ui ) {
    var names = ui.item.data.split("|");
    id_arr = $(this).attr('id');
    id = id_arr.split("_");                     
    $('#jenisbenang_'+id[1]).val(names[0]);
    $('#warna_'+id[1]).val(names[1]);
},
open: function() {
    $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
    $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}                           
});
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34023175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档