我已经看到了这个问题的变化,但不是我在SO上的具体情况,所以这里有。
我无法使用jQuery Mobile动态地向现有控制组添加新的无线电输入。它会添加,但样式不正确,似乎没有正确地与其他输入交互。
这是我的小提琴: http://jsfiddle.net/cjindustries/3mQF6/
谁能看到我做错了什么?或者是再次重新生成整个fieldset / controlgroup的情况? :(
谢谢!下面的代码也是......
<div id="testPage" data-role="page">
<div data-role="content">
<fieldset data-role="controlgroup">
<legend>Radio buttons, vertical controlgroup:</legend>
<input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked">
<label for="radio-choice-1">Cat</label>
<input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2">
<label for="radio-choice-2">Dog</label>
<input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3">
<label for="radio-choice-3">Hamster</label>
<input type="radio" name="radio-choice-1" id="radio-choice-4" value="choice-4">
<label for="radio-choice-4">Lizard</label>
</fieldset>
</div>
</div>
$('<input type="radio" name="radio-choice-5" id="radio-choice-5"><label for="radio-choice-5">Horse</label>')
.appendTo("fieldset");
$("fieldset").trigger('create');
答案 0 :(得分:1)
您需要使用上面使用的name="radio-choice-1"
。这解决了你的行为问题
以下变化解决了行为问题 您修改后的代码,用于动态添加无线电。
$('<input type="radio" name="radio-choice-1" id="radio-choice-5"><label for="radio-choice-5">Horse</label>').appendTo("fieldset");
通过以下更改解决了样式问题 只需重新创建div而不是fieldset
$("div").trigger('create');