jQuery 如何设置输入框的值?

30

我有一个输入框,正在尝试使用它的类设置其值。

<form:input path="userName" id="userName" title="Choose A Unique UserName" readonly="${userNameStatus}" class="formData"/>

渲染为:

<input id="userName" name="userName" title="Choose A Unique UserName" class="formData" type="text" value=""/>

我正在使用以下jQuery代码,但它似乎无效。请问我错在哪里?

$(".formData").html("");

编辑后的处理事件的 JQuery 函数

$('#reset').click(function (){
            $("#userNameErr").text(""); 
            $('#badgeNoErr').text("");

            $(".errors").html("");

            $(".formData").val("");

        });

$(".formData").text("")$(".formData").val("") 也不起作用。


生成的实际HTML是什么?与您正在使用的任何服务器端脚本相对应? - David Thomas
实际的HTML代码是<input id="userName" name="userName" title="选择一个唯一的用户名" class="formData" type="text" value=""/>。 - devdar
看起来表现良好:http://jsfiddle.net/FtnLM/ :) - Tats_innit
是的,将其转换为空字符串的方法不起作用,但是$(".formData").val("")可以使用。 - devdar
其他字段的重置是否正常工作?编辑:抱歉,已经回答了。 - Thiago Moura
显示剩余7条评论
7个回答

68

这应该可以正常工作。

$(".formData").val("valuesgoeshere")

对于空值
$(".formData").val("")

如果这不起作用,你应该发布一个 jsFiddle。

Demo:

$(function() {
  $(".resetInput").on("click", function() {
    $(".formData").val("");
  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="formData" value="yoyoyo">


<button class="resetInput">Click Here to reset</button>


这个不起作用,我正在使用Spring标签,所以我不确定是否有所不同,但它呈现正常的HTML,所以我不知道问题出在哪里。 - devdar

5
如果输入框有一个class名为formData,请使用以下代码:$(".formData").val("data") 如果输入框有一个id属性名为formData,请使用以下代码:$("#formData").val("data") 如果输入框有一个给定的名称,请使用以下代码:$("input[name='formData']").val("data") 您还可以提及类型。然后它将引用该类型的所有输入和给定的类名:$("input[type='text'].formData").val("data")

1
$('.formData').attr('value','YOUR_VALUE')

1

使用此代码通过另一个ID设置输入标签的值。

$(".formdata").val(document.getElementById("fsd").innerHTML);

或者使用这段代码来通过类名"formdata"设置输入标签的值

$(".formdata").val("hello");

1

在 jsfiddle 中将您的 jQuery 加载设置更改为 onload……它有效……


那么为什么我的代码不起作用,我已经放在document.ready里了? - devdar
1
你设置了初始的nowrap(head)……它在domREADY上运行……我无法弄清nowrap head设置的问题。 - palerdot

0

你只需要编写这个脚本。使用输入元素来实现。

$("input").val("valuesgoeshere"); 

或者通过id="fsd"编写此代码。

$("input").val(document.getElementById("fsd").innerHTML);

-5
将您的jQuery函数放入其中。
$(document).ready(function(){

});

问题已经解决。


1
请编辑您的其他答案,而不是发布新答案。还请查看格式帮助:http://stackoverflow.com/editing-help - Qantas 94 Heavy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接