Метод jquery .val() возвращает undefined
При выборе элемента в выпадающем списке нужно определить выбранное значение на клиенте.
Пробую так:
Код:
var text = $("#myList").val();
Получаю значение undefined.
Вот полный текст страницы:
Код:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="TestSite.Pages.Test" MasterPageFile="~/TestSite.Master" Title="AJAX"%>
<asp:Content ID="AjaxContent" ContentPlaceHolderID="MainPlaceHolder" runat="server">
<script type="text/javascript" src="Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" language="javascript">
function LookUp()
{
var text = $("#myList").val();
alert(text);
}
</script>
<div>
<asp:dropdownlist ID="myList" runat="server" onchange="LookUp();"></asp:dropdownlist>
</div>
</asp:Content>
<asp:Content ID="AjaxContent" ContentPlaceHolderID="MainPlaceHolder" runat="server">
<script type="text/javascript" src="Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" language="javascript">
function LookUp()
{
var text = $("#myList").val();
alert(text);
}
</script>
<div>
<asp:dropdownlist ID="myList" runat="server" onchange="LookUp();"></asp:dropdownlist>
</div>
</asp:Content>
Если тот же код поместить на обычную страницу, не содержащую ссылки на мастер страницу, то все работает нормально.
В чем может быть ошибка?
а что говорит .attr('value') ?
Причина ошибки уже нашлась: при использовании мастер страницы имена элементов заменяются.
Чтобы корректно работало, нужно писать так:
$("#<%=myList.ClientID%>").val();