0
我正在使用Drupal 7 Form Api構建帶select元素的自定義窗體。我附加了#ajax回調函數,它將觸發change事件。Drupal 7 #ajax更改事件可以防止同一元素上的其他更改事件處理程序
$form['landing']['country'] = array(
'#type' => 'select',
'#options' => array(),
'#attributes' => array('class' => array('landing-country-list')),
'#validated' => TRUE,
'#prefix' => '<div id="landing-countries" class="hide">',
'#suffix' => '</div>',
'#title' => 'Select country',
'#ajax' => array(
'wrapper' => 'landing-cities',
'callback' => 'get_cities',
'event' => 'change',
'effect' => 'none',
'method' => 'replace'
),
);
但問題是,它阻止自定義更改功能在js中的相同選擇。在這個函數中,我想獲得選擇的選項值。因此,這不會引起火災:
$('body').on('change', 'select.landing-country-list', function() {
optval = $(this).find('option:selected').val();
});
這個代碼文件,其中包括我在$形式:
$form['#attached']['js'] = array(
'https://code.jquery.com/jquery-2.2.4.min.js',
drupal_get_path('module', 'landing') . '/landing.js',
);
預先感謝您的幫助!