禁用Bootstrap中的控件

Fir*_*nas 51 html twitter-bootstrap

我在我的应用程序中使用Bootstrap css和js.我偶然点击了一个禁用的下拉列表,发现它正在打开下拉列表.我readonlyselect元素的属性中做了它:

<select id="xxx" name="xxx" class="input-medium" readonly>
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置readonly="true",但仍然一样.

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

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

Jer*_*nch 95

不,Bootstrap不会引入禁用下拉列表的特殊注意事项.

<select id="xxx" name="xxx" class="input-medium" disabled>
Run Code Online (Sandbox Code Playgroud)

要么

<select id="xxx" name="xxx" class="input-medium" disabled="disabled">
Run Code Online (Sandbox Code Playgroud)

将工作.我更喜欢给出属性值(如第二种形式;在XHTML中,属性必须有值),但HTML规范说:

元素上存在布尔属性表示真值,缺少属性表示false值.

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

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

已禁用属性

  • 禁用的表单元素的值不会传递给处理器方法.W3C将其称为成功元素.(这类似于未选中的表单复选框.)
  • 某些浏览器可能会覆盖或为已禁用的表单元素提供默认样式.(灰色或浮雕文本)Internet Explorer 5.5对此特别讨厌.
  • 禁用的表单元素不会获得焦点.
  • 在选项卡式导航中跳过已禁用的表单元素.

只读属性

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

*-blatant剽窃来自http://kreotekdev.wordpress.com/2007/11/08/disabled-vs-readonly-form-fields/

  • 非常重要:禁用表单元素的值不会传递给处理器方法.W3C将此称为成功元素.(这与未检查的表单复选框类似.)! (5认同)
  • 只读和禁用之间的差异非常有用. (2认同)

sil*_*lly 12

尝试

$('#xxx').attr('disabled', true);
Run Code Online (Sandbox Code Playgroud)

  • 此外,由于jQuery 1.6,这将是prop()而不是attr(). (4认同)