无法在Laravel中使用Jquery UI

时间:2017-02-20 11:03:36

标签: jquery laravel

我在Laravel中全局拥有Jquery,但是我也希望包含Jquery UI。

我有一个像这样的刀片模板:

@section('scripts')
<script src="/assets/admin/js/sessions/myjavascript.js"></script>
@stop

content...

Myjavascript.js:

$( document ).ready(function() {
    if (jQuery.ui) {
        alert("loaded");
    }
});

jQuery.ui不存在。我该如何实现它?

这里编辑的是扩展刀片:

<!DOCTYPE html>
<html>
<head>
    <title>Mysite</title>
    <link href='https://fonts.googleapis.com/css?family=Raleway:400,300,700' rel='stylesheet' type='text/css'>
    <script src="/assets/admin/js/core/pace.js"></script>
    <link href="/assets/admin/css/styles.css" rel="stylesheet" type="text/css">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    @yield('styles')
</head>
<body id="app" class="layout-horizontal skin-default">
    @include('admin.layouts.partials.notifs')
    @include('admin.layouts.partials.header')
    <div class="mobile-menu-overlay"></div>
    @include('admin.layouts.partials.header-bottom')
    @yield('content')
    @include('admin.layouts.partials.footer')
    @include('admin.layouts.partials.skintools')
    <script src="/assets/admin/js/core/plugins.js"></script>
    <script src="/assets/admin/js/demo/skintools.js"></script>
    @yield('scripts')
</body>
</html>

4 个答案:

答案 0 :(得分:3)

全局都有一个jquery,这意味着你已经通过npm将其拉出来了。 如果是这样,那么你可以通过npm拉下jquery-ui,如下所示

npm install jquery-ui

否则,您可以在页面中使用cdn链接 如下

在HEAD中包括css

@section('styles')
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
@endsection
刀片中的

@section('scripts')
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <script src="/assets/admin/js/sessions/myjavascript.js"></script>
@stop

希望它可以帮到你!

答案 1 :(得分:2)

首先确保你正确加载你的jquery.ui(1种方法是使用cdn,如Vaibhavraj Roham建议的那样)。

然后,当您确定要正确加载它时,请尝试以下操作:

我不确定您是如何设置自己的观点的,但您可能也在另一个子视图中使用了scripts部分,并且它会覆盖此部分。

尝试这样做(添加@parent):

@section('scripts')
@parent
<script src="/assets/admin/js/sessions/myjavascript.js"></script>
@stop

答案 2 :(得分:1)

我需要从jquery-ui

自动完成
  1. 运行npm install jquery-ui --save-dev
  2. 添加 import 'jquery-ui/themes/base/all.css'; import 'jquery-ui/ui/widgets/autocomplete.js';
  3. 在你的app-location / resources / assets / js / app.js中 这样你就会在每一页都有ui插件

答案 3 :(得分:0)

试试这个

@push('scripts')
<script src="/assets/admin/js/sessions/myjavascript.js"></script>
<script>
$( document ).ready(function() {
    if (jQuery.ui) {
        alert("loaded");
    }
});
</script>
@endpush