表单下方列出的每个制造商徽标都应(单击时)将选项值更改为用户单击的任何值。例如:如果用户单击vulcan图像,则需要在表单提交之前使用VULCAN select选项更新表单。表单选项正在填充我在代码中列出的数据库查询。这很好,所以没有问题。
制造商图像由Views模块填充。为了清晰起见,我已经包含了这些设置的图片。
所以我的问题是:为这些制造商的图像提供更改所选选项的功能有什么好方法?我的php非常棒,但我猜它与使用Form API更改#default_value有关?
任何帮助都将不胜感激!!
function part_finder_form($form, &$form_state) {
$options = part_finder_form_get_manufacturer_list();
$form['manufacturer'] = array(
'#prefix' => '<span class="right_arrow"></span>',
'#type' => 'select',
'#required' => TRUE,
'#empty_option' => t('Start by selecting a manufacturer...'),
'#options' => $options,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Go',
);
return $form;
}
function part_finder_form_get_manufacturer_list() {
$options = array();
$results = db_query("SELECT nid, title FROM {node} WHERE type = :type", array(':type' => 'rep_manufacturers'));
foreach ($results as $option) {
$options[$option->nid] = $option->title;
}
return $options;
}
答案 0 :(得分:1)
你可以使用jQuery做到这一点。
以下是示例代码。 (在此代码中,我假设图像标题存储了您需要传递给选择的值)
var images = jQuery('#image_wrapper img');
var select = jQuery('#manufacturer');
images.click(function()
{
select.val(jQuery(this).attr('title'));
});
您可以将此代码添加到单独的javascript文件中,然后使用$ form ['#adored']
将其添加到表单中$form['#attached']['js'] = array('PATH_TO_JS_FILE');
希望这适合你
穆罕默德。