【问题标题】:Display form data selected using Laravel / Ajax显示使用 Laravel / Ajax 选择的表单数据
【发布时间】:2021-07-25 21:12:21
【问题描述】:

我有以下脚本,显示一个国家的所有城市。

<script type="text/javascript">
  
  $(document).ready(function(){
       
       $("#pays").change(function(){

          /* let country_id = this.value;*/
          let country_id = $(this).find("option:selected").data("id");


           $.get('/getState/'+country_id,function(data){

              $("#ville").html(data);

           });
       });

  });

</script>

还有以下观点:

<div class="form-row">
                        <div class="col-sm-6">
                           <label>Pays</label>
                           <select class="form-control select2-single" data-width="100%" name="pays" id="pays">
                             <option label="&nbsp;">&nbsp;</option>
                             @foreach($countries as $country)
                           <option data-id="{{$country->id}}" value="{{$country->name}}">{{$country->name}}</option>
                            @endforeach
                           </select>
                       </div>  
                       <div class="col-sm-6">
                           <label>Ville</label>
                           <select class="form-control select2-single" data-width="100%" name="ville" id="ville">
                            
                           </select>
                       </div>
                  </div>

我正在尝试更新数据,因此我应该在表单中显示数据,所以我使用以下脚本:

$(document).on('click', '.edit', function(){
          var id = $(this).attr('id');
           console.log(id);
           $('#form_result').html('');
            $.ajax({
          
           url:"castingss/"+id+"/edit",
           dataType:"json",
           type:"GET",
           success:function(html){
           console.log(html);
           

             $('#pays').val(html.data.pays);
             $('#pays').trigger('change'); 
             $('#ville').val(html.data.ville);
             $('#ville').trigger('change'); 
            
            $('#hidden_id').val(html.data.id);
            $('.modal-title').text("Modifier les informations d'un casting/influenceur");
            $('#action_button').val("Modifier");
            $('#action').val("Modifier");
            $('#formModal').modal('show');
           }
          })
         });

但我得到以下结果:

我无法在表单上显示ville value

我的代码有什么问题?

如果你有任何想法,请帮忙。

【问题讨论】:

  • 好吧,当我们不知道数据时,很难说。我的意思是,一个工作小提琴或其他东西会更好地配合你的概念。 “html.data.ville”返回正确的值?您是否尝试过以下操作? $("#ville").val(html.data.ville).change(); 最后,我不建议使用“html”作为参数名称。使用更独立的东西(如结果)。
  • @NagySzabolcs 谢谢你的评论,我试过你说的但没有用
  • “html.data.ville”的值是多少? (将其更改为结果,例如确定)。
  • "html.data.ville 的值为 Manu'a
  • 会不会是没有脚本把事件改成ville?

标签: jquery ajax laravel


【解决方案1】:

根据国家/地区选择,我遇到了同样的问题首都名称显示。我解决了这个问题,如下所示

$("#ville").append("<option value='"+html.data.ville+"'>"+html.data.ville+"</option>");

ajax请求之前使用下面的代码

$('#ville').empty();

【讨论】:

    猜你喜欢
    • 2015-03-23
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 2019-03-31
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多