1

如果特定选择值为 = X,我正在尝试显示输入字段。

我有一个下拉菜单询问我的用户是否要添加其他与会者,如果他们选择 1/2 与会者,我希望出现相关的下拉菜单。

我试过编写一个函数,但它不能正常工作,就像你不止一次地改变你的参加者值一样,你会看到一些输入字段出现而一些消失?

我添加了一个小提琴来表达我的意思,任何帮助表示赞赏!

jQuery

/* Attendee Dropdown */
function attendees() {
    // Function 
    if ($('select[name^="add-attend"]').val() == "1") {     
       $('.attend-1').removeClass('nodisplay');
       $('.attend-1').toggle();         
    }
    else if ($('select[name^="add-attend"]').val() == "2") {     
      $('.attend-1').removeClass('nodisplay');
      $('.attend-2').removeClass('nodisplay');
      $('.attend-1').toggle(); 
      $('.attend-2').toggle();           
    }
    else {     
       $('.attend-1').addClass('nodisplay'); 
       $('.attend-2').addClass('nodisplay');           
    }; 
};
$('.add-attend').change(attendees);

小提琴

http://jsfiddle.net/7LxF8/

4

3 回答 3

1

这是使用.show() http://jsfiddle.net/7LxF8/1/的小提琴更新

于 2012-11-21T10:31:53.187 回答
1
$('.add-attend').on('change', function() {
    var elm1 = $('.attend-1'),
        elm2 = $('.attend-2');
    switch (this.value) {
        case '0':
            elm1.add(elm2).hide();
            break;
        case '1':
            elm1.show();
            elm2.hide();
            break;
        case '2':
            elm1.add(elm2).show();
    }
});​

小提琴

于 2012-11-21T10:34:06.093 回答
0

您可以选择 li 元素和使用filter方法。

function attendees() {
    $('li[class^="attend"]')
        .hide()
        .filter('[class=attend-' + this.value + ']')
        .show()
};
$('.add-attend').change(attendees);

http://jsfiddle.net/LPRYr/

于 2012-11-21T10:36:07.677 回答