Как я могу добавить readonly
к конкретному <input>
? .attr('readonly')
не работает.
javascript
jquery
Цяо
источник
источник
Ответы:
JQuery <1,9
jQuery 1.9+
Узнайте больше о разнице между prop и attr
источник
Используйте $ .prop ()
источник
$.prop()
: Prop установит атрибут readonly в пустую / пустую строку, поэтому, если у вас есть какой-либо CSS-код, для которого используется селектор атрибута[readonly="readonly"]
, вам придется изменить его на[readonly]
(или включить оба).Readonly - это атрибут, определенный в html, поэтому относитесь к нему как к одному.
Вам нужно иметь что-то вроде readonly = "readonly" в объекте, с которым вы работаете, если вы хотите, чтобы он не был редактируемым. И если вы хотите, чтобы он снова был редактируемым, у вас не будет что-то вроде readonly = '' (это не стандартно, если я правильно понял). Вам действительно нужно удалить атрибут в целом.
Таким образом, при использовании jquery его добавление и удаление имеет смысл.
Установить что-то только для чтения:
Удалить только для чтения:
Это была единственная альтернатива, которая действительно работала для меня. Надеюсь, поможет!
источник
.attr('readonly', 'readonly')
должен сделать свое дело. Ваше.attr('readonly')
единственное возвращает значение, оно не устанавливает его.источник
.attr
Значение должно быть только строкой или числом, а не логическое значение, в соответствии с Jquery Docs: api.jquery.com/attr/#attr2 Кроме того , HTML «Булевы атрибуты» должны быть только пустая строка или значение атрибута. Я думаю, что решение заключается в использовании,.prop()
чтобы избежать путаницы.Я думаю, что «отключен» исключает вход от отправки по почте
источник
Вы можете отключить чтение только с помощью .removeAttr;
источник
Для включения только для чтения:
Для отключения только для чтения
источник
Используйте свойство setAttribute. Обратите внимание на пример, что если выбрать 1, применить атрибут readonly к текстовому полю, в противном случае удалить атрибут только для чтения.
http://jsfiddle.net/baqxz7ym/2/
источник
Для версии jQuery <1.9:
Для версии jQuery> = 1.9:
источник