javascript - 使用 jquery 和 laravel 填充多个选择框

标签 javascript php jquery mysql laravel

我正在使用 laravel,我需要根据用户从数据库中选择的内容填充多个选择。 我有 2 个选择框,一个选择类别,然后一旦我选择了类别,第二个选择框就会填充产品。 一旦第二个选择填充了产品,我需要从数据库中获取该产品的所有描述并以表格形式显示,以便对其进行修改。

我做了一条路线:

 Route::get('api/dropdown', function(){
            $input =Input::get('option');

                $prodotti= DB::table('prod')                
                    ->join('cat','cat.id_prod','=','prod.id')
                    ->where('cat.id','=',$input)
                    ->select('prod.id as idprod','prod.nome as nomeprod')
                    ->lists('nomeprod','idprod');


            return Response::json($prodotti);
            });

这应该发送响应

{{ Form::open(array('url' => 'admin/create/mod', 'files'=> true)) }}
        <span>
        {{ Form::select('categorie',  $categorie,'default', array('id'=> 'a')) }}
            <br/>

        {{ Form::select('a',array('a'=> 'scegli'),'default', array('id'=> 'b')) }}

        Scegli il nome del prodotto

        {{Form::text('nome')}}
        <br/>
        {{Form::label('*Descrizione in Italiano')}}
        <br/>
        {{Form::textarea('descrizioneit','',array('id'=>'descrizioneit'))}}
        {{Form::textarea('descrizioneit','',array('id'=>'previewit', 'readonly'=>'readonly', 'onfocus'=>'this.blur();'))}}
        <br/>
        {{Form::label('*Descrizione in Inglese')}}
        <br/>
        {{Form::textarea('descrizioneen','',array('id'=>'descrizioneen'))}}
        {{Form::textarea('descrizioneen','',array('id'=>'previewen', 'readonly'=>'readonly', 'onfocus'=>'this.blur();'))}}
        <br/>

{{Form::close()}}

这是我的javascript

jQuery(document).ready(function($){
    $('#a').change(function(){
            $.get("{{ URL::to('api/dropdown')}}", 
                { option: $(this).val() }, 
                function(data) {
                    var model = $('#b');
                    model.empty();

                    $.each(data, function(element) {
                        model.html(element);
                    });
                });
        });
    });

然后我应该做另一个 api 来用我选择的产品描述填充文本框?

我会遵循这个想法,但即使是第一部分也行不通。 似乎我的 javascript 代码被忽略了。

最佳答案

问题在于您如何填写选择。

jQuery(document).ready(function($){
    $('#a').change(function(){
        $.get("{{ URL::to('api/dropdown')}}", 
            { option: $(this).val() }, 
            function(data) {
                var model = $('#b');
                model.empty();

                $.each(data, function(index, value) {     
                     model.append($("<option />").val(index).text(value)); });
                });
          });
    });
});

关于javascript - 使用 jquery 和 laravel 填充多个选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22985703/

相关文章:

javascript - 如何检查用户是否正在刷新页面或导航到其他页面

javascript - JS/jQuery 适合 div 内的所有图像(无空格)

javascript - 在用户之间安全地共享客户端加密数据

php - 我如何从另一个 PHP 页面创建并引入变量

php - 使用后退按钮时重定向 Codeigniter 用户

javascript - 在 v8 中声明具有未知值的(类)属性的最佳(性能最高)方法

php - 如果 add_action 位于 WordPress 的抽象类中,如何删除_action

jquery - 在 willDestroyElement 回调中销毁 slider 实例的正确方法

javascript - HTML 复选框的状态无法在浏览器中呈现

带有嵌套 div 的 jQuery 类选择器