jquery 我怎样才能隐藏(和淡入)一个选定的选择?

5jvtdoz2  于 2023-04-20  发布在  jQuery
关注(0)|答案(6)|浏览(104)

我使用Chosen库(http://harvesthq.github.com/chosen/)作为JQuery插件来增强select元素。我需要最初隐藏(然后淡入)select,但下面的方法似乎不起作用。

<!doctype html> 
<html lang="en"> 
<head>
   <link rel="stylesheet" href="chosen/chosen.css" />
</head>
<body>
   <select id="firstChosenSelect" data-placeholder="Choose a Country..." style="width:350px;" tabindex="2">
      <option value=""></option> 
      <option value="United States">United States</option> 
      <option value="United Kingdom">United Kingdom</option> 
      <option value="Afghanistan">Afghanistan</option>
   </select>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
   <script src="chosen/chosen.jquery.js" type="text/javascript"></script>
   <script type="text/javascript">
     $('#firstChosenSelect').chosen();
     $('#firstChosenSelect').hide();
   </script>
</body></html>
kxkpmulp

kxkpmulp1#

将选择放入span中并隐藏/显示span

html格式

<span id="spanForfirstChosenSelect" >
  <select id="firstChosenSelect" data-placeholder="Choose a Country..." style="width:350px;" tabindex="2">
      <option value=""></option> 
      <option value="United States">United States</option> 
      <option value="United Kingdom">United Kingdom</option> 
      <option value="Afghanistan">Afghanistan</option>
  </select>
</span>

在javascript中

<scirpt type="text/javascript>    
     document.getElementById('spanForfirstChosenSelect').display = 'none';
</script>

在jQuery中

<scirpt type="text/javascript>    
     $('spanForfirstChosenSelect').hide();
</script>
hsgswve4

hsgswve42#

只需将您的选择用div Package :

<div id="wrapper"><select id="firstChosenSelect">...</select></div>

然后在 chosen 完全示例化后隐藏它(使用chosen:ready):

$('#firstChosenSelect').chosen();
$('#firstChosenSelect').on("chosen:ready", function(){
      $('#wrapper').hide();
});
ecbunoof

ecbunoof3#

首先用“display:无;“或”可见性:隐藏”

<select id="firstChosenSelect" data-placeholder="Choose a Country..." style="width:350px; display: none;" tabindex="2">

然后在加载内容时使用selectbox上的chosen()和fadeIn()函数。我会使用jQuery的ondocument ready函数。

<script type="text/javascript">
  $(function(){ //run when content is loaded..
    $('#firstChosenSelect').chosen();
    $('#firstChosenSelect').fadeIn(400);
  });
</script>
lnxxn5zx

lnxxn5zx4#

chosen有很多未记录的选项和事件,所以必须阅读源代码才能找到它们。在这种情况下,问题是我们不知道chosen何时完成了样式化的选择框的构建,所以我们需要点击自定义的liszt:ready事件并使用一些css opacity。

css

<style>
    #firstChosenSelect,  /* the un-styled select box */
    .chzn-container      /* the styled chosen container that gets created later */
    {
      opacity:0
    }
</style>

javascript

我们绑定了一个函数,当事件发生时它会被触发。这个函数会在1000毫秒内将不透明度设置为1。然后使用jquery链接,在事件发生后立即调用.chosen()

<script>
  $('#firstChosenSelect').bind('liszt:ready', function(){
    $('.chzn-container').animate({
      opacity:1
    }, 1000);
  }).chosen(); 
</script>

在jQuery v1.7+中,我们也可以使用.on()
∮ ∮ ∮ ∮

jq6vz3qz

jq6vz3qz5#

你可以意识到,选择的插件创建所有旁边的选择标签。所以,这应该是足够的:

$('#firstChosenSelect').next().hide();
$('#firstChosenSelect').next().fadeIn();

再见;

a14dhokn

a14dhokn6#

对我来说,仅仅增加宽度就足够了。

$(document).ready(function () {
    $(function() {
        $(".chosen-select").chosen({width: "100%"});
    });
});

相关问题