admin管理员组

文章数量:1328014

I need to hide certain options from Multiple selection box using Javascript. I can't got for jQuery, and I am not allowed to.

I have one more dropdown box, I am calling a js function which will be called upon change of the value. The js function will control the options of another multiple select options box, where I need to hide (not remove) options based on dropdown box value.

Any simple js function?

/

Edit: tried

fastInternet.options[i].style.display = 'none';
fastInternet.options[i].style.visibility = 'hidden';

Didn't work :(

I need to hide certain options from Multiple selection box using Javascript. I can't got for jQuery, and I am not allowed to.

I have one more dropdown box, I am calling a js function which will be called upon change of the value. The js function will control the options of another multiple select options box, where I need to hide (not remove) options based on dropdown box value.

Any simple js function?

http://jsfiddle/zz3dg/

Edit: tried

fastInternet.options[i].style.display = 'none';
fastInternet.options[i].style.visibility = 'hidden';

Didn't work :(

Share Improve this question asked Aug 2, 2012 at 10:50 RaceBaseRaceBase 18.9k50 gold badges150 silver badges209 bronze badges 2
  • 1 See if this post helps: stackoverflow./questions/2731668/… – Clayton Commented Aug 2, 2012 at 10:57
  • Nothing worked. can any one write plete Js here. I am getting down for every new thread popping up with solution that doesn't work. – RaceBase Commented Aug 3, 2012 at 12:24
Add a ment  | 

3 Answers 3

Reset to default 2

EDITED:

New Suggestion:

What about to make it disable

fastInternet.options[i].setAttribute("disabled", "disabled")

And then hide it by using following CSS:

select option[disabled] {
    display: none; /* worked in firefox*/
    visibility: hidden; /* worked in chrome*/
}

SEE DEMO

It might help!

OLD Suggestion:

Try to use

 fastInternet.remove(options[i])

I tried using your jsFiddle link but some of the stuff there was prevented the method from working correctly.

I made some modifications and it's working perfectly:

html:

<select id="option_two" multiple>        
  <option value="VOIP">VOIP</option>         
  <option value="BDS">BDS</option>          
  <option value="DMW">DMW</option>          
  <option value="IDTV">IDTV</option>          
  <option value="P3TR">P3TR</option> 
</select> 

Javascript:

 var fastInternet = document.getElementById('option_two');

 for ( var i = 0; i < fastInternet.options.length; i++) {
     var value = fastInternet.options[i].value;

     if(value == 'IDTV' || value == 'P3TR'){
        fastInternet.options[i].style.visibility = 'hidden';
     }
 }​

In JsFiddle, make sure that the framework is set to onLoad and No-Library(pure JS) In chrome it worked. But I got some problems in IE though :/

Adding display:none worked for me. But I did it via css.

Have build an example. Check it here

Dont have chrome installed to test. But I guess visibility:hidden should work.

本文标签: javascriptHide Options from Multiple Selection BoxStack Overflow