我想以编程方式禁用/启用 html 选择元素。我的项目使用 jQuery mobile 1.4.5 和 jQuery 2.1.4。
要禁用 jQuery 中的元素,我会执行以下操作:
$('#filter_refn').prop('disabled', true);
渲染后的结果:
<select name="ref_id" id="filter_refn" data-mini="true" disabled="">
<option value="" selected="">Referenznummer auswählen</option>
</select>
这“以某种方式起作用。由于用户无法选择任何内容,但是该框仍然处于活动状态并且不会像直接在 html 中那样被禁用。
我注意到 jQuery 的 disabled 属性不包含“true”
jQuery Mobile 中的示例:
原生 html:
如何以与 HTML 类似的方式禁用该元素?
您需要使用 jquery mobile API 提供的函数来更改其组件的状态。
$( ".selector" ).selectmenu( "disable" );
这些元素的样式是由css
规则完成的,而那些使用[disabled]
选择器。
但是,如果您$('#filter_refn').prop('disabled', true);
在 none 用户输入元素上执行操作,则只会disabled
更改属性,而不会更改属性。对于像select
, button
, input
, ...这样的元素,$('#filter_refn').prop('disabled', true);
属性和属性都会改变。
写作$('#filter_refn').prop('disabled', true).attr('disabled', true);
肯定也会改变视觉外观,但您仍然应该使用 API 提供的功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句