我试图使用 jQuery Mobile 框架克隆无线电字段集。我通常会使用.live事件或克隆(true)
$(".cloneButton").live('click', function() {
$('#fieldSet1').clone().insertBefore('.cloneButton');
});
但是在这种情况下它不起作用。克隆的单选按钮仍然可以控制原始按钮。
如果有人熟悉jQuery Mobile,我将非常感谢您的帮助。
请参阅此示例 - http://jsfiddle.net/R65cn/
我从http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/docs/forms/radiobuttons/index.html
获取了广播示例代码谢谢,
克里斯
答案 0 :(得分:0)
这与Jquery mobile没有任何关系,但基本的HTML / Javascript规则。
因为您使用.clone()克隆元素,所以单选按钮(和其他元素)上的所有唯一ID都会被克隆,从而导致重复的id。浏览器只会使用他们找到的第一个声明的ID,因此这解释了示例中的行为。
当你点击第二个或第三个单选按钮组合时,浏览器将查找id为“radio-choice-1”的元素,并在第一次点击后停止(带有id“radio-choice-1”的单选按钮)在第一个单选按钮组合)。
使代码工作的唯一方法是为每个克隆元素提供唯一的ID,并将每个标签上的for属性值更改为新的唯一ID。