显示下拉列表引导程序中的选定值

时间:2017-03-07 17:43:08

标签: jquery twitter-bootstrap-3

我正在使用bootstrap和jQuery设计一个表单,但是我试图使用下拉列表按钮,设计如下所示 enter image description here

,代码是:

  <div class="form-group">
                            <div class="col-lg-6">
                                <div class="input-group">

                                    <div class="input-group-btn">
                                        <button type="button" class="btn btn-default"
                                                tabindex="-1">
                                            Select Option
                                        </button>

                                        <button type="button" class="btn btn-default dropdown-toggle"
                                                data-toggle="dropdown" tabindex="-1">
                                            <span class="caret"></span>
                                            <span class="sr-only">Toggle Dropdown</span>
                                        </button>

                                        <ul class="dropdown-menu">
                                            <li><a href="#">Option I</a></li>
                                            <li><a href="#">Option II</a></li>
                                            <li><a href="#">Option III</a></li>

                                            <li class="divider"></li>
                                            <li><a href="#">Option IV</a></li>
                                        </ul>

                                    </div>
                                    <input type="text" class="form-control" id="textaux">

                                </div>
                            </div

我想要的是当用户选择一个值时,输入类型文本控件显示所选的值,为了实现这一点,我创建了这个脚本

$(document).ready(function () {      
    $(".dropdown-menu li a").click(function () {
        var selText = $(this).text();
        $(this).parents('.form-group').find('#textaux').html(selText + ' <span class="caret"></span>');
    });
});

但它没有显示任何价值,请你帮我并告诉我如何修改脚本以便在文本控件中显示所选的值

1 个答案:

答案 0 :(得分:1)

  

但它没有显示任何价值,请你帮我并告诉我如何修改脚本以便在文本控件中显示所选的值

而不是.parents()(获取当前匹配元素集中每个元素的祖先,可选择通过选择器进行过滤。)您可以使用.closest()(对于集合中的每个元素,获取通过测试元素本身并遍历DOM树中的祖先来匹配选择器的第一个元素。)而不是.html(),您必须使用.val()来设置输入文本框的值

此外,输入文本框不能包含html元素:

<span class="caret"></span>

摘录:

&#13;
&#13;
$(document).ready(function () {
  $(".dropdown-menu li a").click(function () {
      var selText = $(this).text();
      $(this).closest('.form-group').find('#textaux').val(selText);
  });
});
&#13;
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


<div class="form-group">
    <div class="col-lg-6">
        <div class="input-group">

            <div class="input-group-btn">
                <button type="button" class="btn btn-default"
                        tabindex="-1">
                    Select Option
                </button>

                <button type="button" class="btn btn-default dropdown-toggle"
                        data-toggle="dropdown" tabindex="-1">
                    <span class="caret"></span>
                    <span class="sr-only">Toggle Dropdown</span>
                </button>

                <ul class="dropdown-menu">
                    <li><a href="#">Option I</a></li>
                    <li><a href="#">Option II</a></li>
                    <li><a href="#">Option III</a></li>

                    <li class="divider"></li>
                    <li><a href="#">Option IV</a></li>
                </ul>

            </div>
            <input type="text" class="form-control" id="textaux">

        </div>
    </div>
</div>
&#13;
&#13;
&#13;