1

我在数据标签中使用多个值并基于此 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>

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

不知道你是如何把它分开的,所以任何帮助表示赞赏。

4

1 回答 1

1

$('#' + loadQuestion)will be $('#q2, q8'),它不会是 and 的选择#q2#q8

你可以做data-load="#q2, #q8",然后就做$(loadQuestion)

请参阅演示

如果你不能改变data-load属性,那么你可以这样做:

$($.map(loadQuestion.split(/ *, */), function(el) {return '#'+el;}).join(',')).fadeIn();
于 2013-04-23T00:12:10.027 回答