Foreach声明 - 关于更改 - 查找最接近的类[Laravel / Javascript]

时间:2018-01-11 15:00:31

标签: javascript php jquery foreach

我有一个显示所有凭据的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 {

        }
    }

1 个答案:

答案 0 :(得分:0)

找到答案,我做了'dl'然后切换

  function provChange(element, item){
    vdp = $(element).parents('dl').find('.cred_expiry')

    if (item == 5){
    vdp.toggle('slow');
    } else {
    vdp.hide('slow');
    }
}