Как я могу добавить readonlyк конкретному <input>? .attr('readonly')не работает.
Как я могу добавить readonlyк конкретному <input>? .attr('readonly')не работает.
Ответы:
JQuery <1,9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Узнайте больше о разнице между prop и attr
Используйте $ .prop ()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
$.prop(): Prop установит атрибут readonly в пустую / пустую строку, поэтому, если у вас есть какой-либо CSS-код, для которого используется селектор атрибута [readonly="readonly"], вам придется изменить его на [readonly](или включить оба).
Readonly - это атрибут, определенный в html, поэтому относитесь к нему как к одному.
Вам нужно иметь что-то вроде readonly = "readonly" в объекте, с которым вы работаете, если вы хотите, чтобы он не был редактируемым. И если вы хотите, чтобы он снова был редактируемым, у вас не будет что-то вроде readonly = '' (это не стандартно, если я правильно понял). Вам действительно нужно удалить атрибут в целом.
Таким образом, при использовании jquery его добавление и удаление имеет смысл.
Установить что-то только для чтения:
$("#someId").attr('readonly', 'readonly');
Удалить только для чтения:
$("#someId").removeAttr('readonly');
Это была единственная альтернатива, которая действительно работала для меня. Надеюсь, поможет!
.attr('readonly', 'readonly')должен сделать свое дело. Ваше .attr('readonly')единственное возвращает значение, оно не устанавливает его.
.attrЗначение должно быть только строкой или числом, а не логическое значение, в соответствии с Jquery Docs: api.jquery.com/attr/#attr2 Кроме того , HTML «Булевы атрибуты» должны быть только пустая строка или значение атрибута. Я думаю, что решение заключается в использовании, .prop()чтобы избежать путаницы.
Я думаю, что «отключен» исключает вход от отправки по почте
Для включения только для чтения:
$("#descrip").attr("readonly","true");
Для отключения только для чтения
$("#descrip").attr("readonly","");
Используйте свойство setAttribute. Обратите внимание на пример, что если выбрать 1, применить атрибут readonly к текстовому полю, в противном случае удалить атрибут только для чтения.
http://jsfiddle.net/baqxz7ym/2/
document.getElementById("box1").onchange = function(){
if(document.getElementById("box1").value == 1) {
document.getElementById("codigo").setAttribute("readonly", true);
} else {
document.getElementById("codigo").removeAttribute("readonly");
}
};
<input type="text" name="codigo" id="codigo"/>
<select id="box1">
<option value="0" >0</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
Для версии jQuery <1.9:
$('#inputId').attr('disabled', true);
Для версии jQuery> = 1.9:
$('#inputId').prop('disabled', true);