如何使用 Ajax 和 Laravel 将自动完成数据提取到他们受尊重的元素中?

龙双子座2

这是我的问题。

我正在尝试从自动完成文本框中获取数据。

有两个文本框:

地区和省。

我已成功获取以区域为名称的文本框上的数据。我的问题是,它为下一个以省为名称的文本框赋予相同的值。

在我的 Laravel 刀片中,我有以下代码:

<input id="region"  type="text" class="form-control" name="region" value="" required autofocus>
<div id="regionList"> </div>

<input id="province"  type="text" class="form-control" name="province" value="" required autofocus>
<div id="provinceList"> </div>

我还有一个名为 auto-complete 的 javascript 文件

$(document).ready(function() {

     $('#region').keyup(function() {
        var region = $(this).val();
        if (region != '')
        {
            var _token = $('input[name="_token"]').val();
            $.ajax({
                url: "register/showRegion",
                method: "POST",
                data: { region: region, _token: _token },
                success: function(data)
                {
                  $('#regionList').fadeIn();
                  $('#regionList').html(data);
                }
            });
        }
    });

    $(document).on('click', 'li', function() {
        $('#region').val($(this).text());
        $('#regionList').fadeOut();
    });

    $('#province').keyup(function() {
       var province = $(this).val();
       if (province != '')
       {
           var _prov_token = $('input[name="_token"]').val();
           $.ajax({
               url: "register/showProvince",
               method: "POST",
               data: { province: province, _token: _token },
               success: function(data)
               {
                 $('#provinceList').fadeIn();
                 $('#provinceList').html(data);
               }
           });
       }
   });


    $(document).on('click', 'li', function() {
        $('#province').val($(this).text());
        $('#provinceList').fadeOut();
    });
});

在我的路线上我包括了这个

Route::post('/register/showRegion', '[email protected]');
Route::post('/register/showProvince', '[email protected]');

在我的控制器上是这个

public function index() {

        return view('auth.register');
    }

    function showRegion(Request $request)
    {
        if ($request->get('region'))
        {
            $region = $request->get('region');
            $regions = Refregion::where('regDesc', 'LIKE', "$region%")->get();

            $output = '<ul class="dropdown-menu" style="display:block; position:absolute;">';
            foreach($regions as $region)
            {
                $output .= '<li><a href="#">'.$region->regDesc.'</a></li>';
            }
            $output .= '</ul>';
            echo $output;
        }
    }

    function showProvince(Request $request)
    {
        if ($request->get('province'))
        {
            $province = $request->get('province');
            $province = Refprovince::where('provDesc', 'LIKE', "province%")->get();

            $output = '<ul class="dropdown-menu" style="display:block; position:absolute;">';
            foreach($provinces as $province)
            {
                $output .= '<li><a href="#">'.$province->provDesc.'</a></li>';
            }
            $output .= '</ul>';
            echo $output;
        }
    }

我试图弄清楚为什么当我选择了区域时,它会为另一个文本框“省”提供相同的值。

有人可以帮我解决这个问题,或者至少向我解释为什么会发生这种情况?

谢谢

拉米兹孔古洛夫

更改

$(document).on('click', 'li', function() {
    $('#region').val($(this).text());
    $('#regionList').fadeOut();
});

在这

$('#regionList').on('click', 'li', function() {
    $('#region').val($(this).text());
    $('#regionList').fadeOut();
});

并改变它

$(document).on('click', 'li', function() {
    $('#province').val($(this).text());
    $('#provinceList').fadeOut();
});

在这

$('#provinceList').on('click', 'li', function() {
    $('#province').val($(this).text());
    $('#provinceList').fadeOut();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在jQuery中对laravel和ajax分别使用

如何使用 AJAX 和 Laravel 显示 2 个表中的数据?

如何使用Laravel,Bootstrap Modal和Ajax将数据发布并插入到DB中

如何使用AJAX和LARAVEL在MySQL中插入数据而不刷新页面

如何在VerifyCsrfToken.php第46行中修复TokenMismatchException:使用Ajax和laravel 5.0?

使用ajax和laravel删除动态行

使用 Ajax 和 Laravel 的动态内容

使用 ajax 和 laravel 基于状态的过滤

使用Laravel 5.7和雄辩的问题Ajax

使用Laravel,Ajax和jQuery的“类似”系统

使用 ajax 和 json 进行 Laravel 分页

使用Laravel和Ajax保存多维数组

如何在ajax和laravel中传递数组和其他字段

如何使用jquery ajax在laravel中基于数据库值0或1更改按钮类和fontawesome图标?

如何将登录的用户链接到他们的数据,如何在MySQL表中检索和更新他们

在Laravel中使用Ajax的自动完成表格

在使用 javascript 和 ajax 时,如何在 forloop(laravel) 中使用许多动态下拉列表?

使用ajax在Laravel中删除

Laravel如何使用Angle Ajax Post中的数据

需要帮助循环出使用Ajax和Laravel从数据库获取的Json数据响应的内容

Laravel使用Jquery和AJAX在滚动中加载更多数据

RouteCollection.php第218行中的MethodNotAllowedHttpException使用Knockout js和Ajax的Laravel 5.1

如何加载特定的div或id ajax和laravel

使用Ajax和Bootstrap模态的Laravel表单验证问题

Laravel Ajax使用控制器获取和发布请求

使用Ajax和Laravel 5.6进行多图像上传

Laravel:使用Ajax和多个controller @ action更改div

使用ajax和laravel上传多个文件不起作用

如何在 Laravel 中使用 ajax 请求插入 sessionStorage 数据?