在Internet Explorer中显示/隐藏选择的optgroup选项

我在显示/隐藏optgroup选项时遇到问题。 我尝试在Chrome和Internet Explorer中展示它们,但从未找到适用于这两种环境的解决方案

 Choose One... United States Canada   Choose One...  Alaska Alabama Arizona Arkansas California Colorado Connecticut Delaware District of Columbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North Carolina North Dakota Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming   Alberta British Columbia Manitoba New Brunswick Newfoundland and Labrador Northwest Territories Nova Scotia Nunavut Ontario Prince Edward Island Quebec Saskatchewan Yukon Territories   

我试图从另一个选择列表中检索到的值来控制这个选择列表,我确认它正常工作!

  function validateStates (value){ var $sel = $('select[name="state_code"]'); if (value == 'US'){ $('optgroup, optgroup > option', $sel).hide(); $('optgroup[label="United States"]', $sel).children().andSelf().show(); console.log('hello there!!'); } else if (value == 'CA'){ $('optgroup, optgroup > option', $sel).hide(); $('optgroup[label="Canada"]', $sel).children().andSelf().show(); } else { $('optgroup, optgroup > option', $sel).hide(); } } 

任何帮助将不仅仅是赞赏!

嗨朋友我写了在IE10中工作的代码…..请从您身边validation并告诉我是否有任何问题….

  

display: none on option elements在浏览器中不能一致地工作。 不要打击这种行为。 更好的解决方案是在必要时删除不需要的optgroup和.append()