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



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

如果我先设置它像$("#myinput").val("foo"),然后调用$("#myinput").val(),它返回什么

确保在id="myinput" 页面上只有一个输入


基于原问题的答案:

$("input").val()返回页

第一个输入的值

如果#myinput不是第一个,它将不显示。


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

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

在第二种情况下也调用$("#myinput").val()
问题是$("input").val()返回第一个输入的值(jQuery文档)。

编辑:


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

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

你必须做一些像

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

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

它适合我:

<input id="i" />

JS

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

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

可以在代码中使用条件语句来阻止set value行运行

最新更新