我想知道是否有办法不显示已禁用的元素?如果他们重新启用(通过javascript / jquery)显示它们?
答案 0 :(得分:2)
用隐藏元素的跨度包裹它。不漂亮,但它的工作原理。 E.g。
<强>的jQuery 强>
$(document).ready(function() {
$("#togglebutton").click(function(){
var Element=$("#disableme");
if (Element.attr("disabled")==false) {
Element.attr("disabled","disabled").wrap("<span class='hide'></span>");
} else {
Element.removeAttr("disabled");
Element.parent('span.hide').replaceWith(Element.parent('span.hide').html());
}
});
});
<强> CSS 强>
.hide {
display: none;
}
<强> HTML 强>
<input type="text" id="disableme"><br />
<input type="button" id="togglebutton" value="Toggle disable">
在IE 6,IE 8,Firefox 3.6.6,Opera 10.60和Iron 5.0.380上进行了测试。
答案 1 :(得分:0)
您可以在jQuery中执行以下操作,假设您为input
标记使用正确的 HTML attibrute:
$('input[disabled="disabled"']).hide();
然后只需在您的jQuery代码中添加show()
即可重新启用它们。
我没有提到问题标题。以上是表单input
标记的解决方案,而不是选择option
标记。
答案 2 :(得分:0)
在CSS中,您可以执行以下操作。
option[disabled]
{
display:none;
}
哪些应隐藏已禁用的选项,不确定浏览器兼容性。