jQuery val()仅在用户设置输入框时返回值

时间:2011-09-12 20:16:51

标签: jquery

如果我手动将文本输入到输入元素中,我可以调用$("#myinput").val()并获取值。

如果我先将其设置为$("#myinput").val("foo"),然后拨打$("#myinput").val(),则不会返回任何内容。

4 个答案:

答案 0 :(得分:1)

第二种情况也请拨打$("#myinput").val() 问题是$("input").val()返回第一个输入的值(jQuery doc)。

修改
在你正确之后,我只能说,我相信它应该有效,因为你在两种情况下都使用了两个相同的选择器。
可能是,你有一些代码,修改这些调用之间的值。或者您可能有多个输入具有相同的 id ..

答案 1 :(得分:1)

确保您在id="myinput"

页面上只有一个输入

基于原始问题的答案:

$("input").val()会返回页面第一个输入的值

如果#myinput不是第一个,则不会显示。


要获得所有 所有的值,您可以执行页面上的输入:

$('input').each(function(){
    alert($(this).val());
});

答案 2 :(得分:0)

如果页面上有多个输入,则它不会返回值,因为$('input')是一个输入数组。

你必须做类似的事情

$('input').each(function() {
    alert($(this).val());
});

显示所有vals。否则,请使用$('#myInput').val();

答案 3 :(得分:0)

它对我有用:

<input id="i" />

JS

$('#i').val('hi');
console.log($('#i').val());

小提琴:http://jsfiddle.net/mohsen/mpjmT/

您的代码中可能有一个条件语句,阻止设置值行运行。