不显示已禁用的选项元素?

时间:2010-07-09 02:34:46

标签: jquery html

我想知道是否有办法不显示已禁用的元素?如果他们重新启用(通过javascript / jquery)显示它们?

3 个答案:

答案 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;
}

哪些应隐藏已禁用的选项,不确定浏览器兼容性。