无法使用javascript获取下拉选择值?

时间:2013-07-19 11:40:29

标签: c# javascript

我的下拉(填充objectDataSource):

<asp:DropDownList runat=server ID="ddlUserTypes" DataSourceID="odsUserTypes" AppendDataBoundItems=true DataTextField="UserType" DataValueField="Usertype">
<asp:ListItem Value="">-Please select one-</asp:ListItem>
</asp:DropDownList>

Javascript函数获取下拉列表的选定值:

<script type="text/javascript" language="javascript">
    var notRegistered = false;
    var email = '';
    var userType = document.getElementById("ddlUserTypes");
    var pow = userType.options[userType.selectedIndex].value;
    function PreRegister() {debugger;
        if (notRegistered) {
            location.href = '/Register.aspx?pageid=<%= ConfigHelper.RegistrationPageId %>&Email=' + encodeURIComponent(email)+'&asd='+encodeURIComponent(pow);
            return false;
        }
        return true;
    }
</script>

但这不起作用pow只是继续返回undefined?这可能是因为用户类型似乎没有分配给它,因为它保持为null?有人知道为什么这段代码不起作用吗?

3 个答案:

答案 0 :(得分:1)

使用此功能我希望它能正常工作。

var e = document.getElementById("ddlUserTypes");
var strUser = e.options[e.selectedIndex].value;

答案 1 :(得分:1)

var userType = documentgetElemebyById('<%= ddlUserTypes.ClientID %>');

You should read this

答案 2 :(得分:1)

正如gdoron所提到的,ASP.Net会将你的下拉列表的HTML ID设置为你设置为<asp:DropDownList>的ID参数之外的其他内容,这就是为什么你的JS没有找到它。< / p>

最简单的方法是在下拉列表中分配一个类,然后在JS中按类定位元素。