jquery - 更改选择列表框中的默认选项并隐藏显示元素

标签 jquery

 <select name="cart" id="cart">
    <option value="1" selected="selected">visa</option>
    <option value="2">master</option>
    <option value="3">american</option>
 </select>

如果签证选择了我的 div #parent1,我想显示其他 div 是隐藏的。 我的 jquery 代码

           $("#parent1,#parent2,#parent3").css("display","none"); 
           $("select").change(function() {
                if ($("select").val() == "1") {
                    $("#parent1").slideDown("fast"); //Slide Down Effect   
                    //$("#parent2,#parent3").css("display","none");

                 }
     });  

最佳答案

我会这样做:

  1. 将类“.cart-details”添加到“#parent”元素中,以便您可以一次性定位所有元素。然后,您还可以通过 init 上的 css 将它们全部隐藏。

  2. 更改时,隐藏所有内容并使用 $("#parent"+ this.value) 显示正确的内容

  3. 绑定(bind)后触发更改事件,以便获得初始设置

标记:

注意:我已将 ID 更改为“card1、card2...”,因为这样更清晰,但任何 ID 都可以

<select name="cart" id="cart">
    <option value="1" selected="selected">visa</option>
    <option value="2">master</option>
    <option value="3">american</option>
 </select>
<div class="cart-details" id="cart1">Visa</div>
<div class="cart-details" id="cart2">Mastercard</div>
<div class="cart-details" id="cart3">American</div>​

代码如下:

$("select").change(function() {
    // get the selected value
    var val = this.value;
    // hide all cart detail div
    $('.cart-details').hide();
    // show the one corresponding to the selected item
    $("#cart" + val).slideDown("fast");
})
// trigger the change event so the initial value is taken into account
.change();​

<强> DEMO

关于jquery - 更改选择列表框中的默认选项并隐藏显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616570/

相关文章:

javascript - 比较数组并相加?

jquery - 帮助 jquery-ui-autocomplete 选择菜单高度

javascript - Ajax:如何从其 ID wordpress 获取帖子

Jquery插件有时加载有时不加载

php - 使用children()改变样式

jquery - 如何只获取外部段落文本而没有 anchor 标记内的文本?

javascript - 避免在 jQuery 悬停时移动 div

javascript - jQuery 弹性缓动方程

Jquery 首先改变每个。不是 ('class' )

javascript - 垂直和水平可滚动表格