【问题标题】:Foreach statement - on change - Find closest class [Laravel / Javascript]Foreach 语句 - 关于更改 - 查找最近的类 [Laravel / Javascript]
【发布时间】:2018-01-11 15:00:30
【问题描述】:

我有一个显示所有凭据的 foreach 语句

当用户点击省份时,我必须检查该值是否为“5”。

如果它是 5,那么我需要显示到期日期选择器。

我有这个工作在另一个只有一个但它有多个并且是一个 foreach

我试图找到最近的或父母,但它总是不断返回所有这些

@foreach ($officiant->cred()->orderBy('created_at', 'ASC')->get() as $key => $val)
      <div class="box" style="margin-bottom:15px;">
              <div class="box-body">
                  <div class="row">
                      <div class="col-sm-6">
                          {{ Form::hidden('credid[]', $val->id)}}
                          <dl>
                              <dt class="mt-10">
                                  {{ Form::label('prov','Province')}}
                              </dt>
                              <dd>
                                  <select name="prov[]" class="form-control" onchange="provChange(this, this.value)">
                                    @if ($val->prov == null)
                                      <option disabled>No Province Specified</option>
                                    @endif
                                    @foreach (Info::provinceOptions() as $id => $name)
                                      <option value="{{$id}}" {{!empty($val->prov) && $val->prov == $id? 'selected': ''}}>{{$name}}</option>
                                    @endforeach
                                  </select>
                              </dd>


                              <dt class="mt-10">
                                  {{ Form::label('cred_expiry','Expiry Date')}}
                              </dt>
                              <dd>
                                  {{ Form::text('cred_expiry[]', Carbon\Carbon::parse($val->cred_date)->format('Y-m-d') ?? null, ['class'=>'form-control datePicker cred_expiry', 'style'=>'display:none'] )}}
                              </dd>

                          </dl>
                      </div>
                  </div>

              </div>
          </div>
      @endforeach

Javascript:

function provChange(element, item){
        if (item == 5){

        vdp = $(element).closest('.box-body').find('.cred_expiry')
        console.log(vdp);

        } else {

        }
    }

【问题讨论】:

    标签: javascript php jquery foreach


    【解决方案1】:

    找到答案,我将 'dl' 设为父级,然后切换

      function provChange(element, item){
        vdp = $(element).parents('dl').find('.cred_expiry')
    
        if (item == 5){
        vdp.toggle('slow');
        } else {
        vdp.hide('slow');
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      相关资源
      最近更新 更多