如何使用jQuery更改只读文本框的值?

use*_*697 31 jquery

如何使用jQuery更改具有readonly属性的HTML文本框的值?

Phi*_*hil 17

等等,你想删除只读吗?如果是这样:

$('textbox').removeAttr('readonly').val('Changed Value');
Run Code Online (Sandbox Code Playgroud)

如果不:

$('textbox').val('Changed Value');
Run Code Online (Sandbox Code Playgroud)

  • 在当前版本的jQuery中,最好使用`.prop('readonly',false)`而不是`.removeAttr('readonly')`。 (2认同)

Gre*_*ida 16

$('my-textbox').val('new value')
Run Code Online (Sandbox Code Playgroud)

只读属性仅适用于查看页面的用户,而不适用于访问的JavaScript.它


小智 11

较旧的帖子,但这里有一些信息.

如果你有一个只读输入(带有id测试),你只需用jquery设置val

$('#test').val(100);
Run Code Online (Sandbox Code Playgroud)

但是如果你在浏览器中查看html源代码并搜索最近更新的输入值,你会看到值为空.

<input type="text" id="test" value />
Run Code Online (Sandbox Code Playgroud)

因此,为了防止这一点,你必须删除只读属性附加伤害之前将值设置为输入,然后再次只读设置为true.

$('#test').prop('readonly',false);
$('#test').val(100);
$('#test').prop('readonly',true);
Run Code Online (Sandbox Code Playgroud)

和结果在HTML中

<input type="text" id="test" value="100" />
Run Code Online (Sandbox Code Playgroud)

当你需要发送表单值时,这可以防止错误...

  • 应该是最好的答案 (2认同)

Ali*_*guy 6

$('input[readonly]').val('my new val');
Run Code Online (Sandbox Code Playgroud)