在jQuery html操作之后,无线电输入被取消选中

时间:2014-05-22 19:10:44

标签: javascript jquery html radio checked

我收到了一个非常奇怪的错误。执行以下操作后,我的单选按钮被取消选中:

    var $page = $('[data-shortcode-page="' + shortcode + '"]', $webrock).html();

    //CHECKED
    console.log($('[data-shortcode-page="' + shortcode + '"] :checked', $webrock).length) 
    $('.webrock-page-content', $addPage).replaceWith($page);
    //UNCHECKED
    console.log($('[data-shortcode-page="' + shortcode + '"] :checked', $webrock).length)

有谁知道为什么会这样?这是一个jsFiddle:http://jsfiddle.net/mVB2q/1/

非常感谢!

1 个答案:

答案 0 :(得分:0)

您正在克隆具有相同名称的广播组。您需要更新克隆的无线电组的名称。这是一个简单的解决方案,我在“test1”中为新组名称进行硬编码,但您可能希望对其进行修改以满足您的需求:

var shortcode = 'object';        

var $page = $('[data-shortcode-page="' + shortcode + '"]');

console.log($('[data-shortcode-page="' + shortcode + '"] :checked').length);

//after cloning the radio buttons, find radio buttons and update the name attribute.
$('.webrock-page-content').html($page.clone().find("input[type='radio']").attr("name", "test1").end().html());
console.log($('[data-shortcode-page="' + shortcode + '"] :checked').length);

Updated fiddle