Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Drupal 7中以编程方式使用或功能设置条件字段_Php_Drupal_Drupal 7_Drupal Fields_Hook Form Alter - Fatal编程技术网

Php 如何在Drupal 7中以编程方式使用或功能设置条件字段

Php 如何在Drupal 7中以编程方式使用或功能设置条件字段,php,drupal,drupal-7,drupal-fields,hook-form-alter,Php,Drupal,Drupal 7,Drupal Fields,Hook Form Alter,在mymodule_form_alter()中,我以编程方式设置条件字段的状态。 即 这真是太棒了 但是,我需要分配一些字段或功能(多个允许的dependee值),并且不能完全理解如何以编程方式分配它(请原谅我使用PHP的经验有限) 我试过一些东西,比如 $form['my_field_one']['#states'] = array( 'visible' => array( ':input[name="my_dependee_field[und]"]' => array

在mymodule_form_alter()中,我以编程方式设置条件字段的状态。 即

这真是太棒了

但是,我需要分配一些字段或功能(多个允许的dependee值),并且不能完全理解如何以编程方式分配它(请原谅我使用PHP的经验有限)

我试过一些东西,比如

$form['my_field_one']['#states'] = array(
  'visible' => array(
    ':input[name="my_dependee_field[und]"]' => array('value' => array('0' => 'primary','1' => 'secondary',),),
  ),
);
…显然没有运气

任何善良的灵魂都能伸出援助之手,或为我指明正确的方向。以编程的方式完成这一点至关重要

非常感谢您的帮助

谢谢

使用包含两个可能值的数组更新您的
#状态

$form['my_field_one']['#states'] = array(
    'visible' => array(
        ':input[name="my_dependee_field[und]"]' => array(
            array('value' => 'primary'),
            array('value' => 'secondary'),
        ),
    ),
);

谢谢你,迈克!这在jQuery1.5中非常有效。您知道有什么原因会导致页面上的JQuery在jQuery1.7和1.8中出现中断吗?不客气!不知道,我一直使用Drupal网站上的股票版jQuery。javascript错误是什么?是的,我使用的是Jquery更新模块,它的最高版本是1.8,但选项是1.7和1.5。即使在通过UI使用条件字段模块时,我也注意到了同样的问题(多个dependee值仅适用于JQuery 1.5)。我实际上没有收到任何错误,只是缺少管理栏,并且没有一个可折叠字段组正常工作。以及我设置的所有条件字段都不起作用。很奇怪。
$form['my_field_one']['#states'] = array(
    'visible' => array(
        ':input[name="my_dependee_field[und]"]' => array(
            array('value' => 'primary'),
            array('value' => 'secondary'),
        ),
    ),
);