当我点击下图中的顶部左边的昨天的div(带下拉三角形的框)时候,显示下拉选项框。当我选中下拉框中的某项后,将其文本显示在顶部左边的div中,问题是:当我选中下拉框后,给整个下拉框div设置display:none;并没有生效隐藏,下面本人代码,请大神指点!
HTML:
<div class='manageReportForms_ipt'>
<div class='manageReportForms_context'><span>昨天</span><i class='manageReportForms-icon'></i></div>
<div class='manageReportForms_date'>
<ul class='manageReportForms_ul'>
<li>昨天</li>
<li>过去7天</li>
<li>过去30天</li>
</ul>
<p>自定义范围</p>
<div class='date-parent'>
<div class="custom">
<input type="text" class="u-ipt form-date" value="2017-01-01">
</div>
<div class="custom custom-margin">
<input type="text" class="u-ipt form-date" value="2017-01-01">
</div>
</div>
<div class='date-dv-btn'>
<button class='date-btn'>确定</button>
</div>
</div>
</div>
jquery:
$('.manageReportForms_ipt').click(function () {
$('.manageReportForms_date').css('display','inline-block');
});
$('.manageReportForms_ul li').click(function () {
console.log($(this),52520)
if($(this).html()=='昨天'){
$('.manageReportForms_context span').html('').html($(this).html());
$(this).parent('.manageReportForms_ul').parent('.manageReportForms_date').css('display','none');
$('.sessionData-select').css('display','none');
}else{
$('.manageReportForms_context span').html('').html($(this).html());
$('.manageReportForms_ul').parent('.manageReportForms_date').css('display','none');
//console.log( $('.manageReportForms_ul').parent('.manageReportForms_date'),12532)
$('.sessionData-select').css('display','block');
}
});
$('.sessionData-select-context').click(function () {
$('.sessionData-select-tip').css('display','block');
})
可能是因为冒泡。
你在
$('.manageReportForms_ul li').click
的回调函数最后加一个return false
或者event.stopPropagation()
试试