Я хочу отправить предупреждение, когда вход имеет атрибут 'readonly'. Я пробовал это:
if($('input').attr('readonly') == 'readonly'){
alert("foo");
}
Я думаю, что "если" даже не лучший способ сделать это.
Я хочу отправить предупреждение, когда вход имеет атрибут 'readonly'. Я пробовал это:
if($('input').attr('readonly') == 'readonly'){
alert("foo");
}
Я думаю, что "если" даже не лучший способ сделать это.
Самый быстрый способ - использовать функцию .is()
jQuery.
if ( $('input').is('[readonly]') ) { }
с помощью [readonly]
в качестве селектора просто проверяет, определен ли атрибут для вашего элемента. если вы хотите проверить значение, вы можете использовать что-то вроде этого:
if ( $('input').is('[readonly="somevalue"]') ) { }
Так как JQuery 1.6, всегда используйте .prop() Читайте, почему здесь: http://api.jquery.com/prop/
if($('input').prop('readonly')){ }
.prop() также может использоваться для установки свойства
$('input').prop('readonly',true);
$('input').prop('readonly',false);
Вы можете просто использовать селектор атрибутов, а затем проверить длину:
$('input[readonly]').length == 0 // --> ok
$('input[readonly]').length > 0 // --> not ok
Проверьте текущее значение вашего атрибута "только для чтения", если оно "ложно" (строка) или пустое (undefined или ""), тогда оно не является readonly.
$('input').each(function() {
var readonly = $(this).attr("readonly");
if(readonly && readonly.toLowerCase()!=='false') { // this is readonly
alert('this is a read only field');
}
});
Попробуйте простой способ:
if($('input[readonly="readonly"]')){
alert("foo");
}
попробуйте следующее:
if($('input').attr('readonly') == undefined){
alert("foo");
}
если его нет, будет undefined
в js
как насчет javascript без jQuery?
для любого ввода, который вы можете получить с или без jQuery, просто:
input.readOnly
примечание: разум верблюдов