readonly
Belirli bir gruba nasıl ekleyebilirim <input>
? .attr('readonly')
çalışmıyor.
readonly
Belirli bir gruba nasıl ekleyebilirim <input>
? .attr('readonly')
çalışmıyor.
Yanıtlar:
jQuery <1.9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Prop ve attr arasındaki fark hakkında devamını oku
$ .Prop () kullanın
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
$.prop()
: Prop için nitelik seçici kullanan herhangi CSS sahip olması eğer öyleyse, boş / boş bir dizeye salt okunur özelliğini ayarlar [readonly="readonly"]
sonra sen bunu değiştirmek gerekecek, [readonly]
(ya da her ikisini de).
Readonly, html'de tanımlandığı gibi bir özelliktir, bu yüzden ona bir gibi davranın.
Düzenlenebilir olmamasını istiyorsanız, üzerinde çalıştığınız nesnede readonly = "readonly" gibi bir şeye sahip olmanız gerekir. Ve tekrar düzenlenebilir olmasını istiyorsanız, readonly = '' gibi bir şeye sahip olmayacaksınız (doğru anladıysam bu standart değil). Gerçekten bir bütün olarak özniteliği kaldırmanız gerekir.
Bu nedenle, jquery'yi ekleyerek ve kaldırarak mantıklı olan şeydir.
Salt okunur bir şey ayarlayın:
$("#someId").attr('readonly', 'readonly');
Salt okunur:
$("#someId").removeAttr('readonly');
Bu benim için gerçekten işe yarayan tek alternatifti. Umarım yardımcı olur!
.attr('readonly', 'readonly')
hile yapmalı. Sizin .attr('readonly')
sadece bir tane set vermez değeri döndürür.
.attr
Değer sadece jQuery docs göre, bir dize veya sayı değil, bir boolean olmalıdır: api.jquery.com/attr/#attr2 Ayrıca HTML "boolean nitelikler" Yalnızca boş dize veya özelliğinin değeri olmalıdır. Bence çözüm .prop()
karışıklığı önlemek için kullanmaktır .
"Devre dışı" girişinin POST'ta gönderilmesini hariç tuttuğunu düşünüyorum
Salt okunur olarak etkinleştirmek için:
$("#descrip").attr("readonly","true");
Salt okunur olarak devre dışı bırakmak için
$("#descrip").attr("readonly","");
SetAttribute özelliğini kullanın. Örnek 1'i seçerseniz, salt okunur özniteliği metin kutusuna uygularsanız, aksi takdirde özniteliği salt okunur olarak kaldırın.
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 sürüm <1.9 için:
$('#inputId').attr('disabled', true);
JQuery sürümü> = 1.9 için:
$('#inputId').prop('disabled', true);