2012-10-05 26 views
11

フォームモジュールを構築しています。初期のフィールドの1つは、ラジオボタンのセットです。デフォルトでは、最初のボタンが選択されています。次に、一連の選択ボックスがあります。 1つは目に見える必要があり、もう1つは目に見えないものです。ユーザーが別のラジオボタンを選択すると、異なる選択ボックスが表示または非表示になります。どのようにフィールドとラベルをデフォルトで非表示にし、後でそのラジオボタン(または別の選択ボックスオプション)を選択するかによってそれを表示できますか?drupal:フォームAPI。入力に基づいてフィールドを動的に非表示または表示します。

+0

はそう」することができますリンクが簡単に見つかります。フォームAPI Referencをチェックすると、設定する#ajaxプロパティが表示されます。それが私たちが通常やる方法です。しかし、生のJavaScriptやjqueryもオプションです。 –

答えて

17

これを実現するには#statesプロパティを使用できます。 #statesプロパティは、すべてのForm APIエレメントに適用できます。

例はdocumentation linkです。

希望があれば...ムハンマド。

+0

ありがとう!私はAPIを見ていましたが、そこにたくさんあるので、これは簡単に逃しました。 – LoneWolfPR

+0

それは本当に助けて喜んで:)... - ムハンマド。 –

1

「条件付きフィールド」モジュールを使用することもできます。 リンク:https://drupal.org/project/conditional_fields フィールドに特定の値があるときに表示するフィールドを選択できるコンテンツタイプを作成する際に、[依存関係の管理]タブが表示されます。

11

#statesの簡単な使用例:私は私の携帯電話上だ名前を持つ別のフィールド「タイプは」価値「の販売」を持っている場合にのみ、「アイテムの名前の選択フィールドを表示するには

$form['item'] = array( 
     '#title' => t('Task Item'), 
     '#type' => 'select', 
     '#states' => array(
      // Only show this field when the value of type is sell. 
      'visible' => array(
       ':input[name="type"]' => array('value' => 'sell'), 
      ), 
     ), 
    ); 
+0

これはどのフックで使用されますか? –

関連する問題