从jquery的html下拉菜单中获取价值

时间:2015-06-05 15:24:57

标签: javascript jquery html

我有一个html表单并且在获取所选值时遇到一些麻烦,这里是html

 <form>
    <div class="row">
        <div class="form-group col-xs-12 col-md-8">
            <label>Contact Info</label>
            <input tabIndex="100" class="form-control square" placeholder="Your email address" autocomplete="off" data-error-style="inline" name="email" type="text">
        </div>
        <div class="form-group col-xs-12 col-md-4">
                <label>Gender</label>
                <div class="drop-down-holder ">
                    <div class="simple-dropdown dropdown btn-dropdown dropdown-module dropdown-toggle"
                            data-toggle="dropdown"
                            type="button">
                    <button tabindex="101" class="dropdown-module dropdown-toggle" type="button" data-toggle="dropdown" data-target="#">
                        <div class="simple-holder">
                            <div class="dropdown-label">Select Gender</div>
                            <div class="icon-holder"><i class="icon-caret-down"></i></div>
                        </div>
                      </button>
                    <ul class="dropdown-menu" role="menu">
                        <li><a class="female">Female</a></li>
                        <li><a class="male">Male</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</form>

我在控制台中尝试了一些东西并且不断获得空字符串 这就是我试过的

$(".dropdown-menu").text();

这个只返回字符串

中的女性和男性文本
$(".dropdown-menu").val();

空字符串      $(“。dropdown-menu:selected”)。text();

也是空字符串

 $(".dropdown-menu option:selected").text();

$('.dropdown-menu option:selected').val();

未定义

关于如何让用户选择男性或女性天气的任何线索?我需要一个条件语句的值,它将根据性别将它们重定向到某个页面。

2 个答案:

答案 0 :(得分:0)

要涵盖之前的尝试:

$(".dropdown-menu").text();

.text()返回所有元素及其子元素的.text值,因此为您提供女性和男性

 $(".dropdown-menu").val();

ul没有任何val(),它不是<input>

 $(".dropdown-menu option:selected").text();  / .val();

ul不是<select>,因此不会有<option>类型的子项目

您使用什么插件将ul / li转换为&#39;下拉&#39;当你选择一个ul时会应用一个类。现在,假设课程为selected,您可能需要使用:

 $(".dropdown-menu li.selected")

选择li,然后根据要求:

 $(".dropdown-menu li.selected").text()

要查找已应用的类,您可以(希望)能够在插件的文档中找到它。如果这不可用(或不清楚),请使用浏览器(我个人认为Chrome最容易) - 按F12,找到元素和相关样式,然后选择项目。类名应该更改,您应该能够在控制台中看到它。

或者,可能会有一个您可以收听的事件(或您继承的代码已经侦听),该事件在单击该项时会被触发,并应提供所单击项目的详细信息。

答案 1 :(得分:0)

嘿伙计们找到了答案

$(".dropdown-module").val();

这是按钮的类,因为bootstrap使用div和uls进行下拉,我需要定位下拉模块