在运行时向JQuery buttonset添加单选按钮

时间:2011-05-17 15:33:04

标签: jquery jquery-ui

我正在尝试在运行时向按钮组添加一个单选按钮。这是我的HTML:

<form>
  <div id="container">
    <input type="radio" id="radio1" name="tipo" value="1"/>
    <label for="radio1">Alt1</label>

    <input type="radio" id="radio2" name="tipo" value="2"/>
    <label for="radio2">Alt2</label>   
  </div>
</form>

这是我的Javascript:

$(function() {
  $("#container").buttonset();
  $("#container").append("<input type='radio' id='radio3' name='tipo' value='3'/><label for='radio3'>Alt3</label>");
  $("#container").buttonset();
})

这显示了JQueryUI外观中的Alt1和Alt2。 Alt3显示为普通单选按钮。如果我注释掉第一个按钮组,那么它可以工作:

$(function() {
  //$("#container").buttonset();
  $("#container").append("<input type='radio' id='radio3' name='tipo' value='3'/><label for='radio3'>Alt3</label>");
  $("#container").buttonset();
})

您似乎只能设置一次按钮组。我在其他地方读过你应该可以致电:

$("#container").buttonset('refresh');

但这对我没用。

有没有人找到解决方法?上面的代码是我想要做的简化版本。我在运行时附加到容器,我希望单选按钮显示为JQueryUI样式。上面的代码被简化,以显示问题所在。

您可以在此处亲自试用:http://jsfiddle.net/aembleton/vwemc/

1 个答案:

答案 0 :(得分:3)

这是一个更新的小提琴:http://jsfiddle.net/maniator/w6Fec/3/

以下是代码:

$(function() {
    $("#container").buttonset();
    $("#container").append("<input type='radio' id='radio3' name='tipo' value='3'/><label for='radio3'>Alt3</label>");
    $("#container").buttonset('refresh');
})

出于某种原因,你使用了2个jQueryUI。