资源管理器未遵循jquery下的下拉列表选项链接
此列表的第一个新成员。请原谅我的失礼 这是html。。。Q1..不确定所选选项的语法,但这似乎有效资源管理器未遵循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
<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">日本語 <img
src="images/chopsticks150.png" height="100%" alt="chopsticks"> </a></div>
<div class=" japanese turnoffbuttonjapanese"><a
class=" turnoffjapanese" title="see ENGLISH page">English <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");
}
});