2017-04-13 46 views
0

WordPressではNinjaフォームを使用しています。私は同じフォーム(到着日と出発日)に複数の日付フィールドがあるページを持っています。両方のDateフィールドのValueを変更する必要があります。WordPressでNinjaフォームの2つの日付ピッカーフィールドを設定して設定する

次のスクリプト例では、(私は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> 

私は2つのフィールドに対処する方法がわかりません別々に。忍者フォームで作成された2つのフィールドは、(彼らは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'); 
       } 
      } 
     } 
    } 
関連する問題