繁体   English   中英

html bootstrap dropdown获取所选项目的索引

[英]html bootstrap dropdown get index of selected item

在stackoverflow中有很多答案,关于如何获取引导程序下拉列表的选定值

<div class="input-group">                                            
    <input type="TextBox" ID="datebox" Class="form-control"></input>
    <div class="input-group-btn">
        <button type="button" class="btn dropdown-toggle" data-toggle="dropdown">
            <span class="caret"></span>
        </button>
        <ul id="demolist" class="dropdown-menu">
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
        </ul>
    </div>
</div>

我对此没有问题

$('.dropdown-menu a').on('click', function(){    
    $(this).parent().parent().prev().html($(this).html() + '<span class="caret"></span>');    
    })

但是之后,我需要发出一个带有多个值的HTTP请求,其中之一是下拉菜单中“ A”的“ 0”,“ B”的“ 1”和“ C”的“ 2”的所选项目的索引'

如何获得所选项目的索引?

如果要在click处理程序范围之外发送请求,则可以设置一个具有值的变量,然后在.click()上对其进行更新。

var selected_index = null;
$('.dropdown-menu a').on('click', function(){    
  $(this).parent().parent().prev().html($(this).html() + '<span class="caret"></span>');
  selected_index = $(this).closest('li').index();
});

// ... HTTP request code with selected_index

尝试这个,

$('.dropdown-menu a').on('click', function(){    
        $(this).parent().parent().prev().html($(this).html() + '<span class="caret"></span>');    
        var clicked_li_index = $("#demolist li").index( $(this).parent()) );
        alert(clicked_li_index);
    });

尝试使用.index() ,也可以在您的代码中删除其他</input>

您可以使用jQuery的index()方法来实现。

。指数()

从匹配的元素中搜索给定的元素。

这是一个例子

 var $dropDownItems = $('.dropdown').find('.dropdown-menu').children(); $dropDownItems.on('click', function() { console.log('index: ', $dropDownItems.index(this), 'text: ', this.textContent) }) 
 @import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <div class="dropdown"> <a id="dLabel" data-target="#" href="http://example.com" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Dropdown trigger <span class="caret"></span> </a> <ul class="dropdown-menu" aria-labelledby="dLabel"> <li><a href="#">A</a></li> <li><a href="#">B</a></li> <li><a href="#">C</a></li> </ul> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM