[英]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.