【问题标题】:how to disable to select one or many option from dropdown list in cakephp?如何禁用从 cakephp 的下拉列表中选择一个或多个选项?
【发布时间】:2013-02-28 09:40:03
【问题描述】:

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

  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)); 

任何人都可以帮助做到这一点,将不胜感激,在此先感谢。

【问题讨论】:

    标签: php jquery html cakephp


    【解决方案1】:

    我认为您应该禁用客户端的选项,即来自 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);
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        使用数组数组。

        $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

        【讨论】:

          【解决方案4】:

          尝试通过以下方式重新排列数组:

           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。

          【讨论】:

            猜你喜欢
            • 2021-10-05
            • 2018-09-26
            • 1970-01-01
            • 1970-01-01
            • 2017-01-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-12-03
            相关资源
            最近更新 更多