Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
资源管理器未遵循jquery下的下拉列表选项链接_Jquery_Select_Drop Down Menu - Fatal编程技术网

资源管理器未遵循jquery下的下拉列表选项链接

资源管理器未遵循jquery下的下拉列表选项链接,jquery,select,drop-down-menu,Jquery,Select,Drop Down Menu,此列表的第一个新成员。请原谅我的失礼 这是html。。。Q1..不确定所选选项的语法,但这似乎有效 <select> <option class=" " value="choose" selected="yes" SELECTED>choose language</option> <option class=" turnoffbuttonenglish" value="japanese" >日本語 </option> <optio

此列表的第一个新成员。请原谅我的失礼

这是html。。。Q1..不确定所选选项的语法,但这似乎有效

<select>
<option class=" " value="choose" selected="yes" SELECTED>choose language</option>
<option class=" turnoffbuttonenglish" value="japanese" >日本語 </option>
<option class=" turnoffbuttonjapanese" value="english" >English </option>
<option class="turnonboth" value="both" >both </option>
</select>
这似乎适用于opera,但不适用于explorer!!??? 当我选择时,什么都不会发生

如果我有

   <div class=" english hidden turnoffbuttonenglish"> <a
  class=" turnoffenglish" title="see 日本語 page">日本語&nbsp;<img
  src="images/chopsticks150.png" height="100%" alt="chopsticks"> </a></div>

<div class=" japanese turnoffbuttonjapanese"><a
  class=" turnoffjapanese" title="see ENGLISH page">English&nbsp;<img
  src="images/knifeandfork150.png" height="100%" alt="knife and fork"></a>    </div>
这是有效的…???

与其依赖一个在跨浏览器中不起作用的对象的单击事件,不如根据该值,如果可能的话,给该值一个ID以使其更干净,如下所示:

$('#mySelectID').change(function() {
  if($(this).val() == "english") {
    $currentLanguage = "2";
    $('.japanese').addClass("hidden"); 
    $('.english').removeClass("hidden");
    $currentIFrame.contents().find(".japanese").addClass("hidden");
    $currentIFrame.contents().find(".english").removeClass("hidden");
  }
});
第一个版本不起作用的原因是,甚至不是所有浏览器都会触发一个点击事件,因此您的代码永远无法运行。采用这种方法会起作用,而且跨浏览器更稳定。如果您希望在浏览器上立即产生效果,直到出现模糊时才触发更改,您可以使用更频繁地运行它,只需替换为


您也可以稍微重新处理一下,但不确定您的总体意图,例如,您可以隐藏所有内容,然后显示所选的值,而不是每个选项的if,从而使代码更短。

我很难理解您的问题,您可以发布吗?谢谢您的建议。nick似乎已经明白了我拍摄的目的…必须说我从来没有听说过JSFIDLE…看起来很有趣,会进一步研究,但不值得。非常感谢你的清晰解释。我只是不知道点击不开火似乎很疯狂:我点击了,你开火!但诸神也是如此……不管怎样,你的解决方案似乎就是我一直在寻找的。非常感谢……给自己一杯啤酒ps关于重新思考你可能也是对的…@user383363-欢迎:记住接受一个答案如果它通过左边的复选标记有帮助,它将帮助你更快地获得未来问题的答案…同时,欢迎来到SO!
$('#mySelectID').change(function() {
  if($(this).val() == "english") {
    $currentLanguage = "2";
    $('.japanese').addClass("hidden"); 
    $('.english').removeClass("hidden");
    $currentIFrame.contents().find(".japanese").addClass("hidden");
    $currentIFrame.contents().find(".english").removeClass("hidden");
  }
});