Difference between revisions of "Remove Options from a Combo Box Using JavaScript"
From SmartWiki
| Line 23: | Line 23: | ||
</pre> | </pre> | ||
| + | |||
| + | |||
| + | If you wish to control this by role (for example if you want a role to be able to view existing Level 2 ''FirstType'' Type records, but not create them... | ||
| + | Include this in the variable section at the top of the script: | ||
| + | var myrolelist="@me.rolelist@"; | ||
| + | |||
| + | And replace or include the following in the if logic section: | ||
| + | if (myrolelist.indexOf(",1234,")>=0) | ||
| + | |||
| + | ::''Note that you must test for greater than or equal to 0. If the role is the first on listed in the users role list it will return a 0 rather than a 1 because of the preceding comma.'' | ||
Revision as of 18:46, 28 October 2009
You can use a JavaScript function to modify the options available in a pull-down box on the page.
The following example removes two different Types available for new Level 2 records (would be useful if you need to define complex criteria for what type of Level 2 records can be created):
function RemoveTypes()
{
var i=0;
var frm = document.forms[0];
// at Level 1 use document.form1 instead of document.forms[0]
if (frm.eventid.value==0)
// Note: this loop starts at the bottom to avoid skipping any due to re-indexing as they are removed.
for (i=frm.eventtype.options.length-1;i>=0;i--)
{
if (frm.eventtype.options[i].text=='FirstType' || frm.eventtype.options[i].text=='SecondType')
frm.eventtype.options[i]=null;
}
}
}
RemoveTypes();
If you wish to control this by role (for example if you want a role to be able to view existing Level 2 FirstType Type records, but not create them...
Include this in the variable section at the top of the script:
var myrolelist="@me.rolelist@";
And replace or include the following in the if logic section:
if (myrolelist.indexOf(",1234,")>=0)
- Note that you must test for greater than or equal to 0. If the role is the first on listed in the users role list it will return a 0 rather than a 1 because of the preceding comma.