禁用引导中的控件

我在我的应用程序中使用Bootstrap css和js。 不小心我点击了一个禁用的下拉列表,发现它打开了下拉菜单。 我已经在select元素的属性中readonly了:

 <select id="xxx" name="xxx" class="input-medium" readonly> 

我也尝试设置readonly="true" ,但仍然是一样的。

但是,如果您不使用jQuery.datepicker,则文本框控件工作正常。

当我们使用bootstrap时,是否有一种特殊的方式来使下拉控件只读?

不,引导程序不会为禁用下拉菜单引入特殊注意事项。

 <select id="xxx" name="xxx" class="input-medium" disabled> 

要么

 <select id="xxx" name="xxx" class="input-medium" disabled="disabled"> 

将工作。 我喜欢给属性值(如第二种forms;在XHTML中,属性必须有一个值),但HTML规范说:

元素上布尔属性的存在表示真值,缺less属性表示假值。

(来自http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntax.html#boolean-attribute

只读和禁用之间的主要区别:*

Disabled属性

  • 禁用表单元素的值不会传递给处理器方法。 W3C称这是一个成功的元素(这个工作类似于没有被选中的checkbox)。
  • 某些浏览器可能会覆盖或为禁用的表单元素提供默认样式。 (灰色或浮雕文字)Internet Explorer 5.5对此特别讨厌。
  • 禁用的表单元素不会获得焦点。
  • 禁用的表单元素在Tab键导航中被跳过。

只读属性

  • 并非所有表单元素都具有只读属性。 最值得注意的是, <SELECT><OPTION><BUTTON>元素没有只读属性(尽pipe你的属性都是禁用的)
  • 浏览器不提供默认的覆盖视觉反馈,表单元素是只读的
  • 具有readonly属性集的表单元素将被传递给表单处理器。
  • 只读表格元素可以获得焦点
  • 只读表格元素包含在标签式导航中。

* – 从http://kreotekdev.wordpress.com/2007/11/08/disabled-vs-readonly-form-fields/blatant抄袭;

尝试

 $('#xxx').attr('disabled', true); 

尝试

 <select id="xxx" name="xxx" class="input-medium" disabled> 
 <select id="message_tag"> <optgroup> <option> .... .... </option> </optgroup> 

在这里我只是删除引导CSS只有“select”元素。 使用下面的CSS代码。

 #message_tag_chzn{ display: none; } #message_tag{ display: inline !important; } 

也可以使用“只读”

 <select id="xxx" name="xxx" class="input-medium" readonly> 

记住对于jQuery .prop()你应该使用.prop()函数。

 $("input").prop('disabled', true); $("input").prop('disabled', false);