根据单选按钮选择更改多个表单域

时间:2015-04-21 09:02:40

标签: jquery css cakephp

我正在为一个房产网站(使用CakePHP)创建一个表单,该表单允许用户搜索特定的属性。我有两个带有选项的单选按钮:'商业'和'住宅'

<?php
echo $this->Form->input('channel',
  array(
    'before' => '<label data-channel="commercial" . ($this->request->query('channel') != 'commercial' ? ' active' : '') . '">',
    'after' => '</label>',
    'separator' => '</label><label data-channel="residential" . ($this->request->query('channel') == 'commercial' ? ' active' : '') . '">',
    'options' => array(
        'commercial' => 'Commercial',
        'residential' => 'Residential'
    ),
    'type' => 'radio',
    'hiddenField' => false,
    'value' => $this->request->query('channel') == 'residential' ? 'residential' : 'commercial'
)
);?>

默认情况下选择商业广告并显示以下字段:位置,类型,大小和租金。

当选择住宅时,我想隐藏:类型,大小和租金,然后显示:床。

基本上我想根据点击次数显示/隐藏不同的表单字段。无线电选择住宅或商业

1 个答案:

答案 0 :(得分:0)

你想要做的事情必须在javascript方面完成。

首先,您要在输入字段中添加id,以便在javascript中轻松选择

然后做这样的事情:

radioInput.change( function() {
    if (this.val() == 'residential') {
         typeInput().hide();
         sizeInput().hide();
         rentInput().hide();
         bedsInput().show();
    } else {
         typeInput().show();
         sizeInput().show();
         rentInput().show();
         bedsInput().hide();
    }
});

注意:这只是一个草图,你需要做什么,并假设你正在使用JQuery。您仍然必须获取输入字段radioInput = $('#radioInput');,确保最初只显示相应的字段等等...

希望这足以引导你朝着正确的方向前进。