-2

我的页面上有 3 个下拉列表。2 显示设置为无。当我单击下拉列表(注意只是单击,不要选择)并将鼠标悬停在 hello 文本上时,第一个下拉列表被重置,但下拉列表将显示设置为无也显示在旁边。我不希望发生这种情况。

这是我的html代码

    <div id="mnc"> hello
</div>
<div id="slpt">
    <select id="slt">
        <option value="0">Option1</option>
        <option>Option2</option>
        <option>Option3</option>
        <option>Option4</option>
        <option>Option5</option>
</select>

    <select id="slt1" style="display:none;">
        <option value="0">Option1</option>
        <option>Option2</option>
        <option>Option3</option>
        <option>Option4</option>
        <option>Option5</option>
</select>

     <select id="slt2" style="display:none;">
        <option value="0">Option1</option>
        <option>Option2</option>
        <option>Option3</option>
        <option>Option4</option>
        <option>Option5</option>
</select>
</div>

这是jquery代码

$(document).ready(function() {
    $('#mnc').mouseover(function() {
        $('select').hide().blur().show();
    });
});

这是jsfiddle ​</p>

​</p>

4

3 回答 3

1

这只会影响可见<select>元素:

$('select:visible').hide().blur().show();

参考:http ://api.jquery.com/visible-selector/

但是,我不明白为什么你会在blur()通话之前隐藏它,只是为了在它之后立即再次显示它。您可以轻松地将代码简化为仅调用.blur().

于 2012-12-26T10:37:52.110 回答
0

如果要显示所有可见的选择框

尝试

$(document).ready(function(){
$('#mnc').mouseover(function() {
        $('select:visible').hide().blur().show();
    });
});

编辑:基于编辑到可见下拉列表的评论

于 2012-12-26T10:36:49.227 回答
0

使用:visible..this 选择所有仅可见的元素

这是小提琴..

http://jsfiddle.net/PZCQq/4/

于 2012-12-26T10:39:54.437 回答