如何禁用从cakephp的下拉列表中选择一个或多个选项?

时间:2013-02-28 09:40:04

标签: php jquery html cakephp

我想从下拉列表中禁用一些选项,我有一个像这样的数组

  array(
'all' => 'ALL',
'skip1' => 'User Define Groups:',
(int) 43 => '--Usii Group2',
(int) 105 => '--Usii Mailing [ mailing list]',
(int) 106 => '--test [ mailing list]',
'skip2' => 'Dynamic Define Groups:'


i want to disable value of skip1 and skip2, if user click on skip1 and skip2 value it can't be select in dropdown list, this is my view file     


    echo $this->FormManager->input('view',array('label'=>'View ','type'=>'select','options'=>$viewGroup,'default'=>$default)); 

任何人都可以帮助做到这一点,我们将不胜感激,提前感谢。

4 个答案:

答案 0 :(得分:6)

我认为你应该禁用客户端的选项,即Jquery这样的选项

<强> HTML

<select>
    <option value="all">ALL/option>
    <option value="skip1">User Define Groups:</option>
    <option value="43 ">--Usii Group2</option>
    <option value="105">--Usii Mailing [ mailing list]</option>
    <option value="106">--test [ mailing list]</option>
    <option value="skip2">'Dynamic Define Groups:</option>
</select>

JQuery

$('option[value=skip1]').prop('disabled', true);
$('option[value=skip2]').prop('disabled', true);

答案 1 :(得分:1)

补充Moyed Ansari的回答: 您可以使用.attr jquery函数。

$('option[value=skip1]').attr('disabled', true);
$('option[value=skip2]').attr('disabled', true);

答案 2 :(得分:0)

使用数组数组。

$values = array(
  'all' => 'all',
  'skip1' => array(
    5 => 'ex',
    6 => 'ex',
    7 => 'ex',
  ),
  'skip2' => array(
    5 => 'ex',
    6 => 'ex',
    7 => 'ex',
  )
)

见这里:http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::select

答案 3 :(得分:0)

尝试按照以下方式重新排列数组:

 array(
      'all' => 'ALL',
      'skip1' => array(
           'name' => 'User Define Groups:',
           'value' => 'skip1',
           'disabled' => true
      )
      (int) 43 => '--Usii Group2',
      (int) 105 => '--Usii Mailing [ mailing list]',
      (int) 106 => '--test [ mailing list]',
      'skip2' => (
           'name' => 'Dynamic Define Groups:'
           'value' => 'skip2',
           'disabled' => true
      )
 )

或者你可以在你的观点上试试这个:

echo $this->FormManager->input('view',array('label'=>'View ','type'=>'select','options'=>$viewGroup,'default'=>$default, 'disabled'=>array('skip1','skip2')));

这两个都不需要任何JavaScript或jQuery。