禁用引导中的控件
我在我的应用程序中使用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属性表示假值。
只读和禁用之间的主要区别:*
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);