我如何使用jQuery使input只读?

我有以下input:

<input id="fieldName" name="fieldName" type="text" class="text_box" value="Firstname"/> 

我怎样才能使用jQuery使这个元素成为只读input,而不改变元素或其值?

现在使用jQuery 1.6.1或更高版本,build议在设置布尔属性/属性时使用.prop()。

 $("#fieldName").prop("readonly", true); 

只需添加以下属性

 // for disabled ie cannot highlight value or change disabled="disabled" // for readonly ie can highlight value but not change readonly="readonly" 

jQuery对元素进行更改(在以下设置readonly属性时,replace为readonly readonly )。

 $('#fieldName').attr("disabled","disabled") 

要么

 $('#fieldName').attr("disabled", true) 

注意:从jQuery 1.6开始,build议使用.prop()而不是.attr() 上面的代码将完全相同,除了replace.attr() . .prop()

要使input只读使用:

  $("#fieldName").attr('readonly','readonly'); 

使其读/写使用:

 $("#fieldName").removeAttr('readonly'); 

添加disabled属性将不会发送带有post的值。

您只需将其标记为disabledenabled 。 您可以使用此代码来执行此操作:

 //for disable $('#fieldName').prop('disabled', true); //for enable $('#fieldName').prop('disabled', false); 

—它更好地使用道具,而不是attr。

也许使用禁用的属性:

 <input disabled="disabled" id="fieldName" name="fieldName" type="text" class="text_box" /> 

或者只是使用标签标签:;)

 <label> 

使用这个例子来使文本框ReadOnly或不。

 <input type="textbox" class="txt" id="txt"/> <input type="button" class="Btn_readOnly" value="Readonly" /> <input type="button" class="Btn_notreadOnly" value="Not Readonly" /> <script> $(document).ready(function(){ ('.Btn_readOnly').click(function(){ $("#txt").prop("readonly", true); }); ('.Btn_notreadOnly').click(function(){ $("#txt").prop("readonly", false); }); }); </script> 
 <html xmlns="http://www.w3.org/1999/xhtml"> <head > <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> </head> <body> <div> <input id="fieldName" name="fieldName" type="text" class="text_box" value="Firstname" /> </div> </body> <script type="text/javascript"> $(function() { $('#fieldName').attr('disabled', 'disabled'); }); </script> </html> 

也许这也是有意义的

 $('#fieldName').prop('readonly',false); 

可以用作切换选项

在JQuery 1.12.1中,我的应用程序使用代码:

$('"#raisepay_id"')[0].readOnly=true;

$('"#raisepay_id"')[0].readOnly=false;

它的工作。

setReadOnly(state)对于窗体非常有用,我们可以直接或者从各种条件设置任何字段为setReadOnly(state)。但是我更喜欢使用readOnly来设置select器的不透明度,否则attr ='disabled'也会像同样的方式。

readOnly例子:

 $('input').setReadOnly(true); 

或者通过各种编纂方式

 var same = this.checked; $('input').setReadOnly(same); 

这里我们使用状态布尔值来设置和从input中删除只读属性,取决于checkbox的点击。

在html中

 $('#raisepay_id').attr("readonly", true) $("#raisepay_id").prop("readonly",true); 

在自举

 $('#raisepay_id').attr("disabled", true) $("#raisepay_id").prop("disabled",true); 

JQuery是一个不断变化的库,有时他们会定期进行改进。 .attr()用于从HTML标签中获取属性,并且它是完美的function.prop()稍后被添加为更多的语义,并使用“checked”和“selected”等无值属性更好地工作。

build议如果您使用的是更高版本的JQuery,则应尽可能使用.prop()。