2011-09-24 37 views
4

基於在我的xhtml中記錄爲OPML節點的流程圖,我想動態地(使用jquery,不刷新頁面)逐個獲取問題,具體取決於直到OPML中的最終消息達到前一個的是/否回答。例如;點擊是否OPML一次一個的問題

問:你有寵物嗎?
答:是的

問:它大嗎?
答:是

問:是狗嗎?
- 答:是的

最後:請注意,狗是不允許在這個事件!

該機制與提議的in this SO question類似。但是需要爲每個問題和答覆編碼。我正在尋找一種方法來編寫一些你可以在任何OPML上進行編碼的東西,並且它會自動創建這種行爲。

作爲javascript關閉時的可讀回退,並且爲了避免解析外部OPML,最好使用XOXO an outline microformat而不是OPML。

+0

你能提供一些樣品的標記? – thirtydot

+0

http://jsfiddle.net/gY3Yy/4/很高興找到一種不必一遍又一遍地重複相同的答案的方法,例如,參見步驟N.就像一個大綱可以指向一個氣球多個倍。 – newnomad

回答

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);     
     }); 
    }); 
相關問題