嘿伙计我有3个下拉列表,每个都有自己的id
,我这样做是因为我将下拉列表的值设置为我选择的任何一个,我想区分它们。
我的下拉列表的html是:
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="make" type="button" data-toggle="dropdown"> Subject
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="makein">
<li>bmw</li>
<li>mercedes</li>
<li>mazda</li>
<li>ford</li>
<li>lada</li>
<li>audi</li>
<li>skoda</li>
<li>fiat</li>
</ul>
</div>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="year" type="button" data-toggle="dropdown"> Year
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="yearin">
<li>2016</li>
<li>2015</li>
<li>2014</li>
<li>2013</li>
<li>2012</li>
<li>2011</li>
<li>2010</li>
<li>2009</li>
</ul>
</div>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="level" type="button" data-toggle="dropdown"> Level
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="levelin">
<li>luxury</li>
<li>ordinary</li>
</ul>
</div>
我有3个JavaScript函数来根据ID设置每个部分的下拉列表值,如下所示:
$(function () {
$("#makein li").click(function(){
$("#make").html($(this).text()+' <span class="caret"></span>');
});
});
$(function () {
$("#yearin li").click(function(){
$("#year").html($(this).text()+' <span class="caret"></span>');
});
});
$(function () {
$("#levelin li").click(function(){
$("#level").html($(this).text()+' <span class="caret"></span>');
});
});
我真的不喜欢具有3种不同JavaScript功能的方法。我想知道你们是否知道如何实现这三个功能。
答案 0 :(得分:2)
你可以这样做:
$(function() {
$("li").click(function() {
$(this).parent().siblings('button').first().html($(this).text() + ' <span class="caret"></span>');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="make" type="button" data-toggle="dropdown"> Subject
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="makein">
<li>bmw</li>
<li>mercedes</li>
<li>mazda</li>
<li>ford</li>
<li>lada</li>
<li>audi</li>
<li>skoda</li>
<li>fiat</li>
</ul>
</div>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="year" type="button" data-toggle="dropdown"> Year
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="yearin">
<li>2016</li>
<li>2015</li>
<li>2014</li>
<li>2013</li>
<li>2012</li>
<li>2011</li>
<li>2010</li>
<li>2009</li>
</ul>
</div>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" id="level" type="button" data-toggle="dropdown"> Level
<span class="caret"></span>
</button>
<ul class="dropdown-menu" id="levelin">
<li>luxury</li>
<li>ordinary</li>
</ul>
</div>
&#13;
答案 1 :(得分:1)
此代码应该有效:
$(function() {
$('.dropdown-menu li').click(function() {
$(this).closest('dropdown').find('button').html($(this).text()+' <span class="caret"></span>')
})
})