选中单选按钮时,Jquery会附加

时间:2012-06-05 04:48:03

标签: jquery radio-button append

我不知道为什么,但希望有人能用以下代码帮助我。

    <script src="/jquery-1.7.2.min.js"></script>
    <script>
    $(".static_class").click(function(){
        if($(this).val()==="expanded") 
            $(".widget_prev").append("<p>expanded</p>"); 
        else $(".widget_prev").append("<p>minified</p>");
    });
    </script>

    <div>
    <input type="radio" name="ad_window" selected="selected" value="expanded" class="static_class" />Ad Window Expanded
    <br />
    <input type="radio" name="ad_window" value="minified" class="static_class" />Ad Window Minimized
    <b>Widget Preview: </b>
    <div class="widget_prev"></div>
    </div>

似乎无法附加文字。不知道问题所在。

4 个答案:

答案 0 :(得分:1)

确保在绑定click事件之前等待元素在DOM中。在下文中,我使用的是$(document).ready()的短格式,$(function(){ /* ... */ });

$(function(){

  $(".static_class").on("click", function(e){
      $("<p>").text(function(){
          return $(e.target).val() === "expanded" ? "expanded" : "minified" ;
      }).appendTo(".widget_prev");
  });

});

小提琴:http://jsfiddle.net/jonathansampson/drkCK/

答案 1 :(得分:1)

jquery代码换成$(document).ready({});

答案 2 :(得分:0)

将脚本放在单选按钮/ div下面。

答案 3 :(得分:0)

将代码放入$(function(){//here}); 尝试这种更聪明的方式

    <script>
$(function(){    $(".static_class").click(function(){
                 $(".widget_prev").append("<p>"+this.value+"</p>"); 
                 });
});
        </script>