Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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
Sql 在drupal7中获取复选框_Sql_Jquery_Drupal 7 - Fatal编程技术网

Sql 在drupal7中获取复选框

Sql 在drupal7中获取复选框,sql,jquery,drupal-7,Sql,Jquery,Drupal 7,我有一个状态下拉列表(Drupal7中的列表),它基于状态表中所选的项目,我还有复选框。当我从下拉列表中选择任何州时,所选州下的城市希望显示为复选框。我的代码是 function signup_form($form, &$form_state) { $form['rate_the_service']['state'] = array( '#type' => 'select', //'#title' => 'State/Province', '#pre

我有一个状态下拉列表(Drupal7中的列表),它基于状态表中所选的项目,我还有复选框。当我从下拉列表中选择任何州时,所选州下的城市希望显示为复选框。我的代码是

function signup_form($form, &$form_state) {
 $form['rate_the_service']['state'] = array(
    '#type' => 'select',
    //'#title' => 'State/Province',
    '#prefix'=>'<div id="dropdown-third-replace">',
    '#suffix'=>'</div>',
    '#options'=>$opt,
    '#attributes'=>array('selected'=>array('selected')),
 '#validated' => TRUE,
  '#ajax' => array(
      'callback' => 'ajax_example_dependent_dcheck_state_callback',
      'wrapper' => 'dropdown-four-replace',
    ),
  );
   $form['rate_the_service']['city'] = array(
    '#prefix'=>'<div id="dropdown-four-replace">',
    '#type' => 'checkboxes',
    '#options' => '',
    '#default_value' => isset($values['states']) ? $values['states'] : NULL,
    '#suffix'=>'</div></div>',

  );

}

如何解决此问题。

在ajax函数下,只需返回
$form['rate\u the_service']['city']
。 然后在表单内部,在state表单元素之后检查是否设置了state表单字段。如果设置了,则执行sql查询并在数组中收集城市值。在此之后,您将编写城市表单元素,并在选项中指定包含城市的数组。不要忘记对状态值使用
isSet
函数,否则在表单加载时,城市数组将为空并给出错误

function ajax_example_dependent_dcheck_state_callback($form, $form_state) {
   $state = $form_state['values']['state'];

       $state_query_result2 = db_query('SELECT cityname FROM cities WHERE varstatekey = :varstatekey', array(':varstatekey' => $state));

        $state_array = array();


       // $state_array[0] = '-- Select State --';
        foreach($state_query_result2 as $row2){
            $state_array[$row2->cityname] = $row2->cityname;
        }

        $options[$state] = $state_array;


    $form['rate_the_service']['city']['#options'] = $state_array;

    //print_r($form['rate_the_service']['city']['#options']);

    return $form['rate_the_service']['city'];


}