Проблемы с атрибутом только для чтения jQuery - PullRequest
7 голосов
/ 14 сентября 2009

У меня есть

<input type="text" id="tbox" name="tbox" readonly="readonly" />

У меня есть кнопка, на которой я делаю это

$('#tbox').removeAttr('readonly');

Я тоже пытался это сделать

$('#tbox').attr('readonly', false);

.. но никто не работает ..

Ответы [ 4 ]

13 голосов
/ 14 сентября 2009

Вам нужно будет сделать это, когда DOM загрузится, используя событие ready jQuery для объекта документа. Вот Рабочая демоверсия

$(document).ready(function() {

    $('#tbox').removeAttr('readonly');

});

или стенография

$(function() {

    $('#tbox').removeAttr('readonly');

});

EDIT:

Я только что прочитал на один из ваших других вопросов , как $() не работал, но когда вы использовали jQuery(), ваш код работал. Это указывает на конфликт с функцией $, скорее всего, из-за того, что на странице также используется другая инфраструктура JavaScript, которая также использует стенографию $. Вы можете

1 - используйте jQuery noConflict (), чтобы обойти это. Вы можете назначить функцию селектора jQuery другому псевдониму.

2 - используйте jQuery() в своем коде вместо $()

3 - оберните ваш код jQuery в самовозглашающуюся анонимную функцию, которая все еще позволит вам использовать сокращение $() для селектора jQuery внутри него

(function($) {

    $(function() {

        $('#tbox').removeAttr('readonly');

    });

})(jQuery);

Это анонимная функция, которая принимает один параметр $ и выполняется немедленно, передавая jQuery в качестве аргумента для этого параметра.

2 голосов
/ 09 декабря 2010

Я знаю, что сейчас декабрь 2010 года, но я только что прочитал этот пост при поиске использования JQuery для установки и удаления READONLY в текстовом поле формы. Я нашел и использую это:

`$ ('# id-name'). Attr ('readonly', true); // делает это только для чтения

$ ('# id-name'). Attr ('readonly', false); // делает его редактируемым`

2 голосов
/ 14 сентября 2009

прочитайте статью на джетлоги

Разница в том, что они делают

<input type="text" id="tbox" name="tbox" readonly />

А потом

$('#tbox').removeAttr('readonly');

должно работать.

0 голосов
/ 12 июня 2013
    <input type="submit"  id="btn1" onclick="setTimeout(disablefunction, 1);">

    add function of java script
        <script type="text/javascript" >


        function disablefunction() 
        {
            $('#btn1').attr('disabled',true)
        }


        </script>

Я уверен, что это будет работать на 100%

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...