为什么jQuery hide() show()破坏HTML中的HTML选择?

为什么jQuery hide() show()破坏HTML中的HTML选择?,第1张

概述我正在编写jira-plugin,我需要在创建问题屏幕上编辑customfield.我使用jQuery来做到这一点.我在Chrome浏览器中使用html选项时使用的jQuery hide / show方法存在问题(在Firefox下运行良好).问题是我有3个不同的选择框,这些选项取决于前一个选项中选择的选项.我有一个功能,可以在前一个选择列表发生变化时准备下

我正在编写jira-plugin,我需要在创建问题屏幕上编辑customfIEld.我使用jquery来做到这一点.我在Chrome浏览器中使用HTML选项时使用的jquery hIDe / show方法存在问题(在firefox下运行良好).问题是我有3个不同的选择框,这些选项取决于前一个选项中选择的选项.我有一个功能,可以在前一个选择列表发生变化时准备下一个选择列表.

function prepareList(code,List) {    List.children('option').each(function() {        if(jquery(this).text() == code || jquery(this).text() == 'None') {            jquery(this).show();        }        else {            jquery(this).hIDe();        }    });}

code是一个字符串,它是jquery(‘#prevIoUs_select option:selected’).text()
它在许多情况下工作正常,但有时它会调整选项列表的大小.更糟糕的是,当下一个列表只有一个选项时,它不会显示.我可以看到它有显示:在HTML代码中内联,但在我点击选择三角形后,下拉列表就像2 px.
有趣的是,它在firefox中完美运行.
IE 8甚至没有隐藏/显示,但它只是IE,所以我可以理解这一点.
Opera 12.16也没有隐藏/显示.
用于windows的Safari 5.1.7也没有隐藏/显示.

问题是我应该使用哪些方法来实现我的目标?我也尝试了jquery(this).CSS(‘display’,’none / inline’),它也不起作用.

编辑:
Jsfiddle:jsfiddle.net/7KRLE/最佳答案

$('#tIEr3').attr('Disabled',true);

要禁用选项元素,必须将其Disabled属性设置为字符串’Disabled’,而不是布尔值true.

这给你:

$('#tIEr3').attr('Disabled','Disabled');

要启用它:

$('#tIEr3').attr('Disabled','');

要么

$('#tIEr3').removeAttr('Disabled');

IE和许多其他浏览器行为安全,不允许隐藏用户的选项.
关于IE的其他特殊处理,请阅读this article. 总结

以上是内存溢出为你收集整理的为什么jQuery hide()/ show()破坏HTML中的HTML选择?全部内容,希望文章能够帮你解决为什么jQuery hide()/ show()破坏HTML中的HTML选择?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1121609.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存