4

私のxhtmlでOPMLノードとして示されているフローチャートに基づいて、動的に(ページを更新せずにjqueryを使用して)前の質問のyes/noの回答に応じて、最後のメッセージが表示されるまで、1つずつ表示される質問を取得したいと思いますOPML に到達します。例えば;

Q:ペットを飼っていますか?
A: はい

質問: 大きいですか?
A: はい

Q:犬ですか?
A: はい

最終回:犬の入場はご遠慮ください。

このメカニズムは、この SO question で提案されているものと似ています。ただし、質問と回答ごとにコーディングする必要があります。OPML をトローできる何かをコーディングする方法を探しています。その動作が自動的に作成されます。

[編集] javascript がオフになっているときの読み取り可能なフォールバックとして、および外部 OPML の解析を避けるために、OPML の代わりにXOXO のアウトライン マイクロフォーマットを使用する方がよい場合があります。

4

1 に答える 1

0

次のようなことができます: http://jsfiddle.net/kayen/fGrT2/

HTML:

<div id="petTest">
    <fieldset>
        <legend>Do you have a pet?</legend>
        <ul>
            <li><label for=""><input type="radio" name="petstatus" value="Yes" /> Yes</label></li>
            <li><label for=""><input type="radio" name="petstatus" value="No" /> No</label></li>
        </ul>
    </fieldset>

    <fieldset>
        <legend>Is it big?</legend>
        <ul>
            <li><label for=""><input type="radio" name="petsize" value="Yes" /> Yes</label></li>
            <li><label for=""><input type="radio" name="petsize" value="No" /> No</label></li>
        </ul>
    </fieldset>

    <fieldset>
        <legend>Is it a dog?</legend>
        <ul>
            <li><label for=""><input type="radio" name="pettype" value="Yes" /> Yes</label></li>
            <li><label for=""><input type="radio" name="pettype" value="No" /> No</label></li>
        </ul>
    </fieldset>
    <fieldset>
        <legend>Please note that dogs are not allowed at this event!</legend>
    </fieldset> 
</div>

JQuery:

$("#petTest fieldset")
    .hide()
    .eq(0).show()
    .end()
    .find("input[value='Yes']")
    .click(function() {
      $(this).parents("fieldset").next().show(300);
    })
    .end()
    .find("input[value='No']")
    .click(function() {
        $(this).parents("fieldset").nextAll().hide(300, function(){
            $(this).find("input").attr("checked", false);                
        });
    });
于 2012-04-13T13:44:28.213 に答える