Dojo: How To Disable A Dijit.form.FilteringSelect Option December 31, 2022 Post a Comment I am trying to disable option items in a dijit/Form/FilteringSelect. Here is code Solution 1: You can do it this way: ( Vers. 1.9 ) <select data-dojo-type="dijit/form/" id="count" name="count"> <option disabled="disabled">Select</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> Copy Here's the full fiddle for my Example above(Edited by Thomas Upton): http://jsfiddle.net/tupton/266C4/ and here the reference from dojo: http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html?highlight=filteringselect In the 1.6 Vers it must look like: <script> dojo.require("dijit.form.FilteringSelect"); </script> <body class="claro"> <select dojoType="dijit.form.FilteringSelect" id="fruit" name="fruit"> <option value="AP" disabled> Apples </option> <option value="OR" selected> Oranges </option> <option value="PE"> Pears </option> </select> </body> Copy Here the fiddle for this Version: http://jsfiddle.net/Q4zw6/ It's important that you load the instance of dijit.form.filteringSelect to use it. Regards, Miriam Solution 2: I don't believe you can disable options with dijit/form/FilteringSelect because it is store-based and is supposed to let a user enter any text. There is a property called displayedValue, which you can use to set whatever you want. However, with FilteringSelect, any text that isn't an option is marked as erroneous input, as seen by the following code and this jsfiddle. <select data-dojo-type="dijit/form/FilteringSelect" data-dojo-props="displayedValue: 'Select'" id="count" name="count"> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> Copy You could use a dijit/form/ComboBox in exactly the same manner; the difference between FilteringSelect and ComboBox is that the latter allows any input. See the documentation for more information. Solution 3: The issue is that FilteringSelect relies on dojo data store, as others have pointed out. So if you don't create that manually, it will happen behind the scenes and you just won't know how to reference it. But on second thought, looking at the API I notice FilteringSelect has a property named store. So, you either need to create the data store yourself & initialize the FilteringSelect with it (http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html) or retrieve it by using dijit's byId and then accessing the "store" property. Then, manipulate that data store. Maybe store a temporary copy before you remove the option if you want to restore it after. If you look up data store I'm sure removing an option is trivial. Sometimes with widgets it happens that you need to trigger a re-rendering method also to have it update after (you can usually find some method in the widget's API for this, sometimes "reset"), though I believe with stores it may watch them more intelligently. Share Post a Comment for "Dojo: How To Disable A Dijit.form.FilteringSelect Option"
Post a Comment for "Dojo: How To Disable A Dijit.form.FilteringSelect Option"