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>

質問 1 の回答 1 には、質問 2 と質問 8 が表示されます。

これをどのように分割するかわからないので、助けていただければ幸いです。

4

1 に答える 1

1

$('#' + loadQuestion)になりますが、これはand$('#q2, q8')のセレクターにはなりません。#q2#q8

あなたがすることができdata-load="#q2, #q8"、そしてただするだけです$(loadQuestion)

デモを参照してください

data-loadまた、属性を変更できない場合は、次のようにすることができます。

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