简体   繁体   English

动态分配的Ajax URL字符串在jquery-ui Autocomplete上不显示任何内容

[英]Dynamically assigned Ajax URL string doesn't show anything on jquery-ui Autocomplete

I have a problem with AJAX url. 我对AJAX网址有疑问。 I am trying to get autocomplete data using AJAX, and AJAX url I assign dynamically. 我正在尝试使用AJAX和动态分配的AJAX网址获取自动填充数据。 But it doesn't work, although if I put static AJAX url string it works perfectly fine. 但这不起作用,尽管如果我放置静态AJAX url字符串,它也可以正常工作。 Help me please. 请帮帮我。 Thanks 谢谢

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>TEST Window</title>
    <link rel="stylesheet" href="{{asset('css/bootstrap.min.css')}}">
    <link rel="stylesheet" href="{{asset('css/style.css')}}">
    <link rel="stylesheet" href="{{asset('css/jquery-ui.css')}}">

    <script src="{{asset('js/jquery.js')}}"></script>
    <script src="{{asset('js/jquery-ui.js')}}"></script>
    <script src="{{asset('js/bootstrap.min.js')}}"></script>

</head>
<body>
    <form action ="{{route('testbtn')}}" method='POST' accept-charset="UTF-8" novalidate="novalidate" class="form-horizontal">
        <div class="row">
            {{csrf_field()}}
            <div class="col-md-1" >Profession </div>
            <div class="col-md-3">
                <input type="text" placeholder="Select profession" class="ui-widget form-control autocomplete" name="f1" id="f1" value="" data-href="{{URL::to('searchp')}}">
            </div>
        </div>
        <div class="row">
            <div class="col-md-1" >Region</div>
            <div class="col-md-3">
                <input type="text" placeholder="Select a region" class="ui-widget form-control autocomplete" name="f2" id="f2" value="" data-href="{{URL::to('searchr')}}">
            </div>
        </div>
        <div class="row`">
            <div class="col-md-1" >MKB list</div>
            <div class="col-md-3">
                <input type="text" placeholder="Select MKB" class="ui-widget form-control autocomplete" name="f3" id="f3" value=""  data-href="{{URL::to('get1mkb10')}}">
            </div>
            <div class="col-md-1"><p id="id"></p></div>
            <div class="col-md-2">
                <input type="submit" value='submit' />
            </div>
        </div>
    </form>

    <script>

        $( ".autocomplete" ).each(function(index, value){

            $(this).autocomplete({
                source: function(request, response){
                    $.ajax({
                        url: $(this).data('href'),
                        dataType: "json",
                        data: {term:request.term},
                        success:function(data){
                            response($.map(data, function(item){
                                return { label: item.label, id: item.id}
                            }));
                        }
                    });
                },
                minLength: 2,
                focus: function(event, ui){
                    $(this).val(ui.item.label);
                },
                select: function(event, ui) {
                    $(this).val(ui.item.label);
                    $(this).attr("value",ui.item.id);
                }
            });
        });


    </script>

</body>
</html>

try use 尝试使用

url: $(this).data('href')+"?t=" + (new Date()).getTime() //Add random number to prevent cache url:$(this).data('href')+“?t =” +(new Date())。getTime()//添加随机数以防止缓存

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM