自动填充ajax无效

时间:2015-03-05 10:36:25

标签: javascript jquery ajax autocomplete jquery-autocomplete

        <script>

function autocomplet1() {
    var min_length = 0; // min caracters to display the autocomplete
    var keyword = $('#select01').val();
    if (keyword.length >= min_length) {
        $.ajax({
            url: 'barcode.php',
            type: 'POST',
            data: {keyword:keyword},
            success:function(data){
                $('#barcode01').show();
                $('#barcode01').html(data);
            }
        });
    } else {
        $('#barcode01').hide();
    }
}

function set_item(item2) {
    $('#select01').val(item2);
    var customer = $("#customer").val();
    $.post("sales/add", {"data[Sales][item]": item2 ,"data[Sales][customer_phone]": customer  }, function (data) {
      $('#details3').html(data);
       $("#select01").val('');
});
    // hide proposition list
    $('#barcode01').hide();
}
</script>

<script>
// autocomplet : this function will be executed every time we change the text
function autocomplet() {
    var min_length = 0; // min caracters to display the autocomplete
    var keyword = $('#customer').val();
    if (keyword.length >= min_length) {
        $.ajax({
            url: 'abc.php',
            type: 'POST',
            data: {keyword:keyword},
            success:function(data){
                $('#country_list_id').show();
                $('#country_list_id').html(data);
            }
        });
    } else {
        $('#country_list_id').hide();
    }
}
function set_item(item1) {
    $('#customer').val(item1);
    $.post("sales/add", {"data[Sales][customer]": item1 }, function (data) {
      $('#details').html(data);
});
    // hide proposition list
    $('#country_list_id').hide();
}
</script>


 <div class="input_container">


             <input type="text"  id='customer' onkeyup="autocomplet()" name="data[Sales][customer]" class="input-small focused">
                    <ul id="country_list_id" style='height: 500px;'></ul></div></div>
<div class="content">
         <div class="input_container">


             <input type="text"  id='select01' onkeyup="autocomplet1()" name="data[Sales][item]" class="input-small focused">
                    <ul id="barcode01" style='height: 500px;'></ul></div></div>

上面是一个自动完成脚本。两个脚本都具有相同的功能set_time。如果我将函数名称更改为set_time1,则自动完成功能不起作用。如何解决这个问题? 。我需要在一个页面中使用两个自动完成功能。

1 个答案:

答案 0 :(得分:0)

好的,因为在这些小评论中很难解释,我会在这里写一下。

拿那个剧本:

function set_item(){
   alert("Hello!");
}

function set_item(){
   alert("Goodbye!");
}

set_item();

您认为会发生什么?会有什么警报? 答案:&#34;再见!&#34;,因为第二个功能定义覆盖了第一个功能定义。你永远不会看到&#34;你好!&#34;警报。

当两个函数具有相同名称时会发生这种情况。并且您有两个具有相同名称的函数。将它们放在不同的<script>标签中不会改变任何内容,它仍然是相同的范围。