Magento2 : How disable some specific values in Multi-select UI componentMagento2 : multi select box is not showing option with custom sourceMulti select options for Magento2 custom AttributeHow to add multi-select field in magento2 ui formMagento2 ui component multiselect selected options on editmulti-select image switcher for product configuration. how to do?Month select in UI component formHow to Update Magento 2 configurable child products price by REST APIHow to Implement auto text box with multi select in Magento 2 admin?UI Component - Disable Fieldset CollectionMagento 2 ui multi-select preselected values

Can criminal fraud exist without damages?

Do I need a multiple entry visa for a trip UK -> Sweden -> UK?

Increase performance creating Mandelbrot set in python

How does a character multiclassing into warlock get a focus?

Where in the Bible does the greeting ("Dominus Vobiscum") used at Mass come from?

Hide Select Output from T-SQL

Bash method for viewing beginning and end of file

What to do with wrong results in talks?

Everything Bob says is false. How does he get people to trust him?

Opposite of a diet

Is exact Kanji stroke length important?

Is there a problem with hiding "forgot password" until it's needed?

Tiptoe or tiphoof? Adjusting words to better fit fantasy races

How can I use the arrow sign in my bash prompt?

Best way to store options for panels

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

Implement the Thanos sorting algorithm

What are the ramifications of creating a homebrew world without an Astral Plane?

Are there any comparative studies done between Ashtavakra Gita and Buddhim?

Irreducibility of a simple polynomial

How could Frankenstein get the parts for his _second_ creature?

Is there an Impartial Brexit Deal comparison site?

The baby cries all morning

Trouble understanding overseas colleagues



Magento2 : How disable some specific values in Multi-select UI component


Magento2 : multi select box is not showing option with custom sourceMulti select options for Magento2 custom AttributeHow to add multi-select field in magento2 ui formMagento2 ui component multiselect selected options on editmulti-select image switcher for product configuration. how to do?Month select in UI component formHow to Update Magento 2 configurable child products price by REST APIHow to Implement auto text box with multi select in Magento 2 admin?UI Component - Disable Fieldset CollectionMagento 2 ui multi-select preselected values













0















I am setting some values in multi-select to be disabled based on some condition



This is how I am declaring my UI component



<field name="category_option">
<argument name="data" xsi:type="array">
<item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" translate="true" xsi:type="string">Category Option</item>
<item name="formElement" xsi:type="string">multiselect</item>
<item name="source" xsi:type="string">category_option</item>
<item name="sortOrder" xsi:type="number">60</item>
<item name="dataScope" xsi:type="string">category_option</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>


And passing values using



public function toOptionArray()

$categories = $this->_helper->getTestCategoryOptions();
$testArr = [];
foreach($categories as $category)
$testArr = array_merge($testArr,$category);

foreach($testArr as $test)
switch($test['label'])
case 'case1':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
break;
case 'Food City':
$result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case2':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case3':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
case 'case4':
$result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
break;
default:
$result[] = ['value' => $test['value'], 'label' => $test['label']];


return $result;



in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










share|improve this question


























    0















    I am setting some values in multi-select to be disabled based on some condition



    This is how I am declaring my UI component



    <field name="category_option">
    <argument name="data" xsi:type="array">
    <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
    <item name="config" xsi:type="array">
    <item name="dataType" xsi:type="string">text</item>
    <item name="label" translate="true" xsi:type="string">Category Option</item>
    <item name="formElement" xsi:type="string">multiselect</item>
    <item name="source" xsi:type="string">category_option</item>
    <item name="sortOrder" xsi:type="number">60</item>
    <item name="dataScope" xsi:type="string">category_option</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    </argument>
    </field>


    And passing values using



    public function toOptionArray()

    $categories = $this->_helper->getTestCategoryOptions();
    $testArr = [];
    foreach($categories as $category)
    $testArr = array_merge($testArr,$category);

    foreach($testArr as $test)
    switch($test['label'])
    case 'case1':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
    break;
    case 'Food City':
    $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case2':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case3':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    case 'case4':
    $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
    break;
    default:
    $result[] = ['value' => $test['value'], 'label' => $test['label']];


    return $result;



    in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










    share|improve this question
























      0












      0








      0








      I am setting some values in multi-select to be disabled based on some condition



      This is how I am declaring my UI component



      <field name="category_option">
      <argument name="data" xsi:type="array">
      <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
      <item name="config" xsi:type="array">
      <item name="dataType" xsi:type="string">text</item>
      <item name="label" translate="true" xsi:type="string">Category Option</item>
      <item name="formElement" xsi:type="string">multiselect</item>
      <item name="source" xsi:type="string">category_option</item>
      <item name="sortOrder" xsi:type="number">60</item>
      <item name="dataScope" xsi:type="string">category_option</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      </argument>
      </field>


      And passing values using



      public function toOptionArray()

      $categories = $this->_helper->getTestCategoryOptions();
      $testArr = [];
      foreach($categories as $category)
      $testArr = array_merge($testArr,$category);

      foreach($testArr as $test)
      switch($test['label'])
      case 'case1':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
      break;
      case 'Food City':
      $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case2':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case3':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case4':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      default:
      $result[] = ['value' => $test['value'], 'label' => $test['label']];


      return $result;



      in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component










      share|improve this question














      I am setting some values in multi-select to be disabled based on some condition



      This is how I am declaring my UI component



      <field name="category_option">
      <argument name="data" xsi:type="array">
      <item name="options" xsi:type="object">MycompanyStoresModelCategoryAttributeSourceCategoryOptions</item>
      <item name="config" xsi:type="array">
      <item name="dataType" xsi:type="string">text</item>
      <item name="label" translate="true" xsi:type="string">Category Option</item>
      <item name="formElement" xsi:type="string">multiselect</item>
      <item name="source" xsi:type="string">category_option</item>
      <item name="sortOrder" xsi:type="number">60</item>
      <item name="dataScope" xsi:type="string">category_option</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      </argument>
      </field>


      And passing values using



      public function toOptionArray()

      $categories = $this->_helper->getTestCategoryOptions();
      $testArr = [];
      foreach($categories as $category)
      $testArr = array_merge($testArr,$category);

      foreach($testArr as $test)
      switch($test['label'])
      case 'case1':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label']), 'disabled'=>""];
      break;
      case 'Food City':
      $result[] = ['disabled'=>'disabled','value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case2':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case3':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      case 'case4':
      $result[] = ['value' => $test['label'], 'label' => strtoupper($test['label'])];
      break;
      default:
      $result[] = ['value' => $test['value'], 'label' => $test['label']];


      return $result;



      in above code I even tried 'disabled'=>'disabled' , 'disabled'=>'true' but no effect on UI component







      adminhtml magento2.2 uicomponent multiselect






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 26 '18 at 6:56









      Vishwas BhatnagarVishwas Bhatnagar

      2,92822046




      2,92822046




















          1 Answer
          1






          active

          oldest

          votes


















          0














          The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



          It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



           case 'Food City':
          $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
          break;





          share|improve this answer






















            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "479"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f223772%2fmagento2-how-disable-some-specific-values-in-multi-select-ui-component%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



            It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



             case 'Food City':
            $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
            break;





            share|improve this answer



























              0














              The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



              It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



               case 'Food City':
              $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
              break;





              share|improve this answer

























                0












                0








                0







                The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



                It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



                 case 'Food City':
                $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
                break;





                share|improve this answer













                The function that outputs the option tag is _optionToHtml in vendor/magento/framework/Data/Form/Element/Multiselect.php



                It doesn't look for a disabled attribute, but you can trick it into outputting the attribute by abusing the option 'title' or 'style' attributes. e.g.



                 case 'Food City':
                $result[] = ['style'=>'" disabled="disabled"','value' => $test['label'], 'label' => strtoupper($test['label'])];
                break;






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 14 mins ago









                JasutenJasuten

                61038




                61038



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f223772%2fmagento2-how-disable-some-specific-values-in-multi-select-ui-component%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

                    Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

                    How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2