我有 Profile2 创建的名为 field_apply 的复选框。然后我使用 hook_form_alter 添加一个在选中复选框时应该可见的 texfield。
function test_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'user_register_form') {
$form['profile_test']['test'] = array(
'#type' => 'textfield',
'#title' => 'Test text',
'#states' => array(
'visible' => array(
':input[name="field_apply"]' => array('checked' => TRUE),
),
),
);
}
}
但是#states 不起作用。即使未选中 field_apply,文本字段仍然可见。