2017-08-21 129 views
1

我在laravel项目上工作我有一个窗体,当您单击添加按钮时显示引导模式,我想将课程字段的选择选项加载到使用jquery选择级别模式(显示您何时单击添加按钮),但它始终不显示任何内容。
enter image description here 场和水平表单代码
jquery不会将字段的选择选项附加到另一个字段

<div class="col-sm-4"> 
<label for="program">Course</label> 
<div class="input-group"> 
<select class="form-control" name="program_id" id="program_id"> 
<option value="">------------</option> 
@foreach($programs as $key =>$p) 
<option value="{{$p->program_id}}">{{$p->program}}</option> 
@endforeach 
</select> 
<div class="input-group-addon"> 
<span class="fa fa-plus" id="add-more-program"></span> 
</div> 
</div> 
</div> 
<div class="col-sm-5"> 
<label for="level">Level</label> 
<div class="input-group"> 
<select class="form-control" name="level_id" id="level_id"> 
</select> 
<div class="input-group-addon"> 
<span class="fa fa-plus" id="add-more-level"></span> 
</div> 
</div> 
</div> 

脚本代码的水平模态代码

<div class="modal fade" id="level-show" tabindex="-1" role="dialog" aria-labelled-by="myModalLabel" aria-hidden="true"> 
<div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
      <h4 class="modal-title">New level</h4> 
     </div> 
     <form action="{{route('postInsertLevel')}}" method="post" id="frm-level-create"> 
     <div class="modal-body"> 
      <div class="row"> 
       <div class="col-sm-12"> 
        <select class="form-control" name="program_id" id="program" placeholder="program_id"></select> 
       </div> 
      </div> 

$('#add-more-level').on('click', function(){ 
     var programs = $('#program_id option'); 
     var program = $('#frm-level-create').find('#program_id'); 
     $(program).empty(); 
     console.log(program); 
     $.each(programs, function(i,pro){ 
      $(program).append($("<option/>",{ 
       value : $(pro).val(), 
       text : $(pro).text(), 
      })) 
     }) 
     $('#level-show').modal('show'); 
    }); 

部分是不是有什么错我的代码?

回答

2

你的问题是在这条线:

var program = $('#frm-level-create').find('#program_id'); 

将其更改为:

var program = $('#frm-level-create').find('#program'); 

此外,为标签的属性是错误的。我改变了他们,像:

<label for="program">Course</label> 

到:

<label for="program_id">Course</label> 

的片段:

$('#add-more-level').on('click', function(){ 
 
    var programs = $('#program_id option'); 
 
    var program = $('#frm-level-create').find('#program'); 
 
    $(program).empty(); 
 
    //console.log(program); 
 
    $.each(programs, function(i,pro){ 
 
     $(program).append($("<option/>",{ 
 
      value : $(pro).val(), 
 
      text : $(pro).text(), 
 
     })) 
 
    }) 
 
    $('#level-show').modal('show'); 
 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 

 
<div class="col-sm-4"> 
 
    <label for="program_id">Course</label> 
 

 
    <div class="input-group"> 
 
     <select class="form-control" name="program_id" id="program_id"> 
 
      <option value="">------------</option> 
 
      <option value="1">1</option> 
 
      <option value="2">2</option> 
 
     </select> 
 

 
     <div class="input-group-addon"> 
 
      <span class="fa fa-plus" id="add-more-program"></span> 
 
     </div> 
 
    </div> 
 
</div> 
 
<div class="col-sm-5"> 
 
    <label for="level_id">Level</label> 
 

 
    <div class="input-group"> 
 
     <select class="form-control" name="level_id" id="level_id"> 
 
     </select> 
 

 
     <div class="input-group-addon"> 
 
      <span class="fa fa-plus" id="add-more-level">add-more-level</span> 
 
     </div> 
 
    </div> 
 
</div> 
 

 

 

 
<div class="modal fade" id="level-show" tabindex="-1" role="dialog" aria-labelled-by="myModalLabel" aria-hidden="true"> 
 
    <div class="modal-dialog"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
 
       <h4 class="modal-title">New level</h4> 
 
      </div> 
 
      <form action="{{route('postInsertLevel')}}" method="post" id="frm-level-create"> 
 
       <div class="modal-body"> 
 
        <div class="row"> 
 
         <div class="col-sm-12"> 
 
          <select class="form-control" name="program_id" id="program" 
 
            placeholder="program_id"></select> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </form> 
 
     </div> 
 
    </div> 
 
</div>

+0

它完美,谢谢!但你能向我解释为什么标签应该是'program_id'吗? – Pain

+0

@标记**的属性**指的是它所连接的元素的ID。你可以看看[doc](https://developer.mozilla.org/it/docs/Web/HTML/Element/label)。我希望这对你有所帮助。你可以upvote?谢谢 – gaetanoM

+0

完成!感谢您的帮助 – Pain

相关问题