2017-04-13 26 views
0

WordPress에서 Ninja Forms을 사용합니다. 나는 같은 양식 (도착 날짜와 출발 날짜)에 여러 날짜 필드가있는 페이지가 있습니다. 두 날짜 필드의 값을 변경해야합니다.닌자 양식이있는 WordPress에서 2 개의 datepicker 필드를 지정하고 설정하는 중

다음 예제 스크립트는 (내가 WP 플러그인에 의해 페이지에 jQuery를 추가 할 수 있습니다) 작동하지만 두 필드의 값 변화 :

<script> 
$(document).ready(function() { 
new(Marionette.Object.extend({ 
    initialize: function() { 
     this.listenTo(Backbone.Radio.channel('pikaday'), 'init', this.modifyDatepicker); 
    }, 
    modifyDatepicker: function(dateObject, fieldModel) { 
     dateObject.pikaday.setDate('04/11/2016'); 
    } 
})); 
}); 
</script> 

내가이 개 필드를 해결하는 방법을 모르겠어요 갈라져. 닌자 양식에 의해 생성 된 두 필드 (그들이 ID 만 다른) 같이 :

<div class="nf-field-element"> 
<div class="pikaday__container"><input id="nf-field-66" name="nf-field-66" class="ninja-forms-field nf-element datepicker" value="11/04/2016" type="hidden"> 
<input class="pikaday__display pikaday__display--pikaday ninja-forms-field nf-element datepicker" placeholder="" type="text"> 
</div></div> 

모든 아이디어를 어떻게 jQuery를 조정?

답변

0

클라이언트에 대해 정확히 동일한 문제를 해결해야했습니다. 내가 jQuery를 통해 해결되지 않았지만 내 솔루션 당신을 도울 수 있습니다 - 또는 비슷한 문제를 가진 다른 사람이 :

나는 쿼리 문자열에 정의 된 값으로 내 datepickers을 미리 채울했고, 그것을 다음과 같은 방법을했다 :

  1. '날짜'필드 유형에 대한 'ninja_forms_render_default_value'
  2. 필터에 후크 필터를 추가
  3. 주어진 키
  4. 확인과 날짜 필드에 대한
  5. 확인 쿼리 문자열이 설정되어있는 경우

당신이 당신 functions.php에이 복사 할 수 있습니다 동일한 달성하기 :

add_filter('ninja_forms_render_default_value', 'my_change_nf_default_value', 10, 3); 

    function my_change_nf_default_value($default_value, $field_type, $field_settings) { 

     if ('date' == $field_type) { 

      if ('date_from_query_string' == $field_settings['key']) { 
       if (!empty(get_query_var('date_from'))) { 
        return get_query_var('date_from'); 
       } 
      } 

      if ('date_from_query_string' == $field_settings['key']) { 
       if (!empty(get_query_var('date_to'))) { 
        return get_query_var('date_to'); 
       } 
      } 
     } 
    }