如何根据下拉列表填充文本字段?

时间:2015-12-18 10:30:00

标签: javascript jquery laravel-5

我有一个包含数据库ID的下拉列表,因此当我根据ID从列表中选择一个ID时,必须填充文本字段。

<label class="col-md-2 control-label">Equipment ID:<span class="required">*</span></label>
                                <div class="col-md-9">
                                <select name="equipmentid" id="input18" class="select2-select-00 col-md-12  form-control input-width-xlarge form-control required"   multiple size="5">
                                <?php
                                $data = DB::table('tbl_addequipment')->where('last_month', '=', $data2)->get();

                                foreach ($data as $row2) {
                                                ?>
                                                <option  value="<?php echo "EQ".$row2->equipment_tag ?>"><?php echo "EQ".$row2->equipment_tag ?></option>

                                                <?php } ?>
                                                </select>
                                        </div>  

和我的文字字段

<label class="col-md-2 control-label">Maintenance Type:<span class="required">*</span></label>
                                    <div class="col-md-10" >
                                        <input class="form-control input-width-xlarge form-control required" style="display: block; margin-top: 6px;" type="text" name="maintenancetype" id="maintenancetype" > 

                                    </div>

我已经尝试过这段代码,但是没有工作,我也没有收到错误。

<?php


                                $data3 = $row2->equipment_tag ;
                                $data4 = DB::table('tbl_maintenancerecord')->where('equipment_tag', '=', $data3)->get(); 

                                ?>

<script type="text/javascript">
                                    $('select[name="equipmentid"]').change(function()
                                    {
                                         $('#maintenancetype').val($('select[name="equipmentid"] option:selected').data('mstatus'));
                                    }
                                    );
                                    </script>

2 个答案:

答案 0 :(得分:0)

尝试:

   $data4 = DB::table('tbl_maintenancerecord')->where('equipment_tag', '=', $data3)->select('mstatus')->get()->first();
       echo '<div class="tbl_maintenancerecord" data-tag="'.$data3.'" data-val="'.$data4.'"></div>';


        <script type="text/javascript">
          $(function(){
         $('select[name="equipmentid"]').change(function()
             {
                 var d = $(this).find('option:selected').val();
                 $('#maintenancetype').val($('body').find('div[data-tag="'+d+'"]').attr('data-val'));
             });
        }); 
        </script>

答案 1 :(得分:0)

据我所知,您缺少数据属性&#34; mstatus&#34;在选定的选项字段上。你在哪里设置这个?在更改功能后,请尝试以下操作:

 $('#maintenancetype').val($('#equipmentid').find(":selected").text());