jQuery val()返回空,虽然element.value返回值

jQuery val()返回空,虽然element.value返回值

问题描述:

我有一个JavaScript问题,有时出现,有时不(行为不一致)...我可以看到在Chrome控制台上,当问题发生时,代码:jQuery val()返回空,虽然element.value返回值

alert(document.getElementById('F_GCEO_MEETING_DATE').value); 

回报,同时代码值:

var meetingDate22 = $("input[name='F_GCEO_MEETING_DATE']").val(); 
alert(meetingDate22); 

,我使用的代码返回空...这个空字符串导致了问题......任何一个可以帮助有什么原因呢?

+3

因为'name' ='id'后使用引号!? – George

+0

不,它有相同的名称和Id –

+0

我有时工作 –

尝试使用ID而不是名称的,是这样的:你没有分配#F_GCEO_MEETING_DATE ID不止一个元素

var meetingDate22 = $("#F_GCEO_MEETING_DATE").val(); 
alert(meetingDate22); 
+0

它的工作,但我不知道为什么....名称和身份证实际上是相同的! –

+0

它有时会起作用 –

+0

@osamayaccoub有没有可能你有两个同名的元素? – freginold

仔细检查。

确保jQuery的完成初始化,而且#F_GCEO_MEETING_DATE元素被添加到DOM:

$(function(){ 
    var meetingDate22 = $("input[name='F_GCEO_MEETING_DATE']").val(); 
    alert(meetingDate22); 
}); 

如果你在你的代码的上下文中运行。

alert(document.getElementById('F_GCEO_MEETING_DATE').value); 

即使用id不是name。如果你的属性名称,然后它没有工作。

document.getElementsByName('F_GCEO_MEETING_DATE')[0].value) //is work for your name. 

因此,纠正你的代码$("#F_GCEO_MEETING_DATE")而不是$("input[name='F_GCEO_MEETING_DATE']")

此外,如果你设置idF_GCEO_MEETING_DATE纯JavaScript会赶上的错误,并得到nameF_GCEO_MEETING_DATE

+0

问题的海报提到元素的id与其名称相同(请参阅原始问题的评论)。 – James

试试这个:

var meetingDate22 = $("input[name=F_GCEO_MEETING_DATE]").val(); 
alert(meetingDate22); 

我想你不应该名称