如果我手动在输入元素中输入文本,我可以调用$("#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行运行