2015-03-31 70 views
0

這裏是我的情況:我正在開發一個小部件,我正在尋找一種方法來隱藏/顯示選擇一組單選按鈕的不同DIV。我找到了正確的代碼並根據我的需要進行了調整。唯一的問題是,隱藏/顯示功能停止點擊保存在配置窗口小部件後工作:S隱藏/顯示單選按鈕停止工作保存

這裏的JS:

jQuery(document).ready(function($) { 
    $(document).ready(function() { 
     $('input[type="radio"]').click(function(){ 
      if($(this).attr("value")=="link_to_image"){ 
       $(".radio-option").hide(); 
       $(".linked-image").show(); 
      } 
      if($(this).attr("value")=="link_to_page"){ 
       $(".radio-option").hide(); 
       $(".linked-page").show(); 
      } 
     }); 
    }); 
}); 

和HTML:

<p> 
    <label>Link:</label><br> 
    <label> 
     <input type="radio" name="link_to" value="link_to_image"> 
     Link to image 
    </label><br> 
    <label> 
     <input type="radio" name="link_to" value="link_to_page"> 
     Link to page 
    </label> 
</p> 
<div class="linked-image radio-option"> 
    <label for="linked_image">Linked image:</label> 
    <p> 
     Content for linked_image DIV 
    </p> 
</div> 
<div class="linked-page radio-option"> 
    <label for="linked_page">Linked page:</label> 
    <p> 
     Content for linked_page DIV 
    </p> 
</div> 

而[JSFiddle](http://jsfiddle.net/ccwsy5z4/

你能幫我一個忙嗎?

+0

你能也許看看你的開發者控制檯輸出,如果它拋出的錯誤,同時試圖點擊點擊保存後的單選按鈕有用嗎? – 2015-03-31 23:21:27

+0

感謝您的幫助,@ JonathanM.Hethey!我自己找到了解決方案。我會寫下來,所以我可以標記這個問題解決:) – 2015-04-06 18:44:12

回答

0

因此,最後我發現問題是,通過單擊保存按鈕,AJ開始AJAX後停止工作。

解決方案是在AJAX完成作業後回想一下JS函數。要做到這一點,我必須給JS函數一個名字,在此之後調用它,然後在AJAX停止後再次調用它。就像這樣:

jQuery(document).ready(function($) { 

    function radioButtonShow() { 

     if($(this).attr("value")=="link_to_image") { 
      $(".radio-option").hide(); 
      $(".linked-image").show(); 
     } 

     if($(this).attr("value")=="link_to_page") { 
      $(".radio-option").hide(); 
      $(".linked-page").show(); 
     } 

    }; 

    $('input[type="radio"]').click(radioButtonShow); 

    $(document).ajaxStop(function() { 

     $('input[type="radio"]').click(radioButtonShow); 

    }); 

}); 

希望這可能是有人:)