将readonly添加到jQuery中的输入字段

时间:2014-05-21 08:56:35

标签: jquery input readonly attr prop

我在向某些输入字段添加readonly时遇到问题。

我在<head>

中有这段代码
$(document).ready(function() {
    $('#powermail_field_ordreid').prop('readonly', true);
    $('#powermail_field_destination').prop('readonly', true);
});

然后我有6个输入字段中的这2个,我需要添加readonly

<div id="powermail_fieldwrap_9" class="powermail_fieldwrap powermail_fieldwrap_input powermail_fieldwrap_9 ">
    <label class="powermail_label" for="powermail_field_ordreid"> Ordre id </label>
    <input id="powermail_field_ordreid" class="powermail_field powermail_input " type="text" value="0521104821">
</div>
<div id="powermail_fieldwrap_7" class="powermail_fieldwrap powermail_fieldwrap_input powermail_fieldwrap_7 ">
    <label class="powermail_label" for="powermail_field_destination"> Destination </label>
    <input id="powermail_field_destination" class="powermail_field powermail_input " type="text" value="Luxembourg">
</div>

我已经尝试了.attr(),现在我正在使用.prop(),因为我正在使用jQuery 1.10+,但我仍然可以编辑输入字段,这是错误的。

...编辑... 在jsfiddel上可以看到它的工作正常 - 所以有人可以告诉我,如果它是另一个在这里填充它的脚本http://wnf.dk/bestillingsform.html?tx_powermail_pi1[field][7]=Luxembourg,那么这两个第一个字段会添加readonly

2 个答案:

答案 0 :(得分:2)

您的网络,控制台日志:未捕获的ReferenceError:$未定义

您应该首先将引用放到jquery脚本中。 Uncaught ReferenceError: $ is not defined?

答案 1 :(得分:1)

<script>
    $(document).ready(function(){
        $('#powermail_field_ordreid').attr('readonly', true);
        $('#powermail_field_destination').attr('readonly', true);
    });
</script>

适用于jQuery&lt; 1.9

jQuery 1.9 +

<script>
        $(document).ready(function(){
            $('#powermail_field_ordreid').prop('readonly', true);
            $('#powermail_field_destination').prop('readonly', true);
        });
    </script>

您可以查看http://jsfiddle.net/najibcse/M7rkB/