jquery数据属性多个值

时间:2013-04-23 00:08:09

标签: javascript jquery show-hide

我在数据标记中使用多个值时遇到问题,并根据此ID应用过滤器。因为它在数据标记中显示多个ID,所以它不会同时显示两个ID。

http://jsfiddle.net/rWhVN/

的示例
<script type="text/javascript">
        $(function () {
            $('#content').removeClass('nojs');
            $('.row').not('#q1').hide();
            $('select').on('change', function () {
                var question = $(this).parent().parent().attr('id');
                var answerID = $(this).children('option:selected').attr('id');
                var loadQuestion = $(this).children('option:selected').data('load');
                $('#' + question).addClass('answered');
                $('.row').not('.answered').hide();
                $('#' + loadQuestion).fadeIn();
                console.log(loadQuestion);
            });
        });
    </script>

<option id="q1a1" data-load="q2, q8">Answer 1</option>

问题一答案应该显示问题二和问题八。

不确定你是如何拆分出来的,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

$('#' + loadQuestion)将为$('#q2, q8'),不会是#q2#q8的副本。

您可以执行data-load="#q2, #q8",然后执行$(loadQuestion)

See the demo

如果您无法更改data-load属性,则可以执行以下操作:

$($.map(loadQuestion.split(/ *, */), function(el) {return '#'+el;}).join(',')).fadeIn();