jQuery Radiobox克隆

时间:2011-08-27 13:26:56

标签: jquery mobile clone

我试图使用 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

获取了广播示例代码

谢谢,

克里斯

1 个答案:

答案 0 :(得分:0)

这与Jquery mobile没有任何关系,但基本的HTML / Javascript规则。

因为您使用.clone()克隆元素,所以单选按钮(和其他元素)上的所有唯一ID都会被克隆,从而导致重复的id。浏览器只会使用他们找到的第一个声明的ID,因此这解释了示例中的行为。

当你点击第二个或第三个单选按钮组合时,浏览器将查找id为“radio-choice-1”的元素,并在第一次点击后停止(带有id“radio-choice-1”的单选按钮)在第一个单选按钮组合)。

使代码工作的唯一方法是为每个克隆元素提供唯一的ID,并将每个标签上的for属性值更改为新的唯一ID。