【问题标题】:Gravity Form-Dynamic Pop. the Chained Select重力形式-动态流行。链式选择
【发布时间】:2018-07-06 23:29:17
【问题描述】:


这里有点新手。自学 PHP/java/etc。试一试。我一直在使用THIS 使用 GF 的文档页面来创建一个链式选择,它将公司名称(来自以前的 GF 条目)作为父级,但我在子级(这是公司的功能)方面遇到了麻烦。

当我使用以下代码让我的链式选择的父级触发时,我为自己感到非常自豪:

add_filter("gform_pre_render_14", "populate_companies");
add_filter("gform_admin_pre_render_14", "populate_companies");
add_filter( "gform_chained_selects_input_choices_14_5_1", "populate_companies");
 function populate_companies( $form, $input_items, $form_id, $field, $input_id, $chain_value ){
  if( $form["id"] != 14 )
  
         return $form;
   
  $items = array();
   
$form_id = '7';
$entries = GFAPI::get_entries( $form_id );

   if (is_array($entries))
{
	foreach($entries as $fcompany) $items[] = array( 'value' => rgar( $fcompany, '4' ), 'text' => rgar( $fcompany, '4' ), 'isSelected' => false );
}
     foreach($form["fields"] as &$field)
        if($field["id"] == 5){
            $field["choices"] = $items;
        }
    return $form;
}

现在,该代码有效。也许它不漂亮,但它有效。所以下一步是让它填充 Child 字段。我已经能够做到这一点,但我很难过......

add_filter("gform_pre_render", "populate_features");
add_filter("gform_admin_pre_render", "populate_features");
add_filter( "gform_chained_selects_input_choices_14_5_2", "populate_features");
 function populate_features( $form, $input_items, $form_id, $field, $input_id, $chain_value ){
  if( $form["id"] != 14 )
  
         return $form;
   
  $items = array();
  $selected_fcompany = $chain_value[ "{$field->id}.1" ];
   if( ! $selected_fcompany ) {
        return $input_choices;
    }
   
$form_id = '7';
$entries = GFAPI::get_entries( $form_id );

   if (is_array($entries))
{
	foreach($entries as $cfeature) $items[] = array( 'value' => rgar( $cfeature, '10' ), 'text' => rgar( $cfeature, '10' ), 'isSelected' => false );
}
     foreach($form["fields"] as &$field)
        if($field["id"] == 5){
            $field["choices"] = $items;
        }
    return $items;
}

我觉得问题出在chained_value 上。哎呀,如果我能让它通过第一个 sn-p 中的第一个 foreach 工作,我就会跳欢乐之舞。有什么想法吗?

【问题讨论】:

    标签: gravity-forms-plugin chain auto-populate gravityforms chained-select


    【解决方案1】:

    最终选择了 Gravity Plus 插件。它真的很方便,但表格上不能有多个,这有点蹩脚。需要一些工作才能使其正常工作,但请告诉我您需要帮助!

    https://gravityplus.pro/gravity-forms-dynamic-population/

    【讨论】:

    • 填充任何东西不限于表单上的一个,几乎可以填充任何东西。 ?gravitywiz.com/documentation/gravity-forms-populate-anything
    • 谢谢大卫。我已经超越了这一点,这些天实际上更有可能实现我自己的 JavaScript 来完成复杂的填充。
    • 如果您还没有使用过填充任何东西,我强烈建议您检查一下。它比市场上的任何其他产品都要强大得多,而且我有很多经验丰富的开发人员发现 Populate Anything 比他们实施的大多数自定义解决方案更快/更容易。 ?
    • 谢谢大卫。我的最终结果是我学习了 JavaScript。这是一个相当复杂的 AJAX。
    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 2016-03-15
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2020-09-11
    • 2020-12-08
    相关资源
    最近更新 更多