为什么我无法在此JavaScript \ JQuery函数中检索select标记的内容?

时间:2015-06-25 12:09:46

标签: javascript jquery html

我不是很喜欢JavaScript和JQuery,我在尝试检索插入到页面中定义的 select 标记中的值时遇到以下问题。

因此,在页面中,我有选择标记:

<select id="idAnnoRiferimento" onchange="setDataRicAgevolazione(this.value)" style="width: 150px; text-align: center" name="">
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007">2007</option>
    <option value="2008">2008</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    <option value="2013">2013</option>
    <option value="2014">2014</option>
    <option selected="selected" value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
</select>

然后在JavaScript函数中我想要检索所选的值,所以我尝试做这样的事情:

function controlloDate() {
    alert("INTO controlloDate()");

    var annoDiRiferimento = $("#idAnnoRiferimento").innerHTML;
    alert("Anno di riferimento: " + annoDiRiferimento);

    ............................................................
    DO SOME OTHER STUFF
    ............................................................
}  

所以,正如你所看到的,我试图检索 id = idAnnoRiferimento 的select标签,并且从这个标签我试图通过使用 innerHTML来检索内部值属性,但警报会显示一条消息,说明未定义

为什么呢?我错过了什么?我该如何解决这个问题?

TNX

7 个答案:

答案 0 :(得分:2)

从选择器返回的jQuery对象没有innerHTML属性 - 这是本机DOMElement的一部分。相反,您可以尝试html()

var annoDiRiferimento = $("#idAnnoRiferimento").html();

请注意,如果您尝试获取所选选项的值,请使用val()

var annoDiRiferimento = $("#idAnnoRiferimento").val();

答案 1 :(得分:2)

innerHTML,是一个javascript属性,不适用于jquery对象,

使用$("#idAnnoRiferimento").val()获取更改后的值,或$("#idAnnoRiferimento").html()获取内部html。

要以javascript方式访问这些属性,您需要获取javascript元素对象

$("#idAnnoRiferimento")[0].innerHTML

答案 2 :(得分:1)

在jquery中MainView方法主要用于获取表单元素的值,例如input,select和textarea

在HTML文档中,.val()可用于获取任何元素的内容。

答案 3 :(得分:1)

javascript代码:

.html()

答案 4 :(得分:1)

你不需要innerHTML,你想要的是值。

$("#idAnnoRiferimento").val()

答案 5 :(得分:1)

在jQuery中使用它非常简单

jQuery('#idAnnoRiferimento option:selected').val()

和@RoryMcCrossan&amp; @ShrutiKarekal回答正在使用jQuery

var e = document.getElementById("idAnnoRiferimento"); 
var sel = e.options[e.selectedIndex].value;

答案 6 :(得分:0)

使用jQuery的.val()函数:

$("#idAnnoRiferimento").val()