【问题标题】:IE7 radio button issue when created dynamically动态创建时的 IE7 单选按钮问题
【发布时间】:2012-11-27 14:03:26
【问题描述】:

当我创建单选按钮的克隆时,我在 IE7 中遇到了问题。我正在动态更新名称和 ID 属性,但是,我仍然遇到一个问题,即选中的单选按钮会重置任何其他已动态创建的按钮。知道如何解决这个问题吗? Here is a fiddle of the issue

这是操作表单字段的 JS 代码:

// Dropdown select
$('#quantity').live("change", function(){

    $('.questions_clonable:not(.questions_clonable:first)').remove();


    // Get value of selection
    var num = $(this).val();

    var cloned_el = $('.questions_clonable').clone();   

    if (num > 1)
    {  
        for (var i = 1; i < num; i++)
        {
            // Assign cloned block to new var
            var new_block = cloned_el;  

             // Store previous number for replacing with current in cloned block input fields
                var prev = i-1;

                // Update input name to make it unique
                new_block.find('input').each(function() {     
                    this.name = this.name.replace(prev, i); 
                    this.id = this.id + i; 
                });

            // Bit of a workaround needed to clone properly, reiterating class name
            $('.multiple_questions_container').append('<span class="questions_clonable hidden">'+new_block.html()+'</span>');

        }   
    }
});​

【问题讨论】:

    标签: jquery forms internet-explorer internet-explorer-7 radio-button


    【解决方案1】:

    IE7 在动态创建单选按钮方面存在问题,这很奇怪,因为它是一款非常棒的浏览器。看来IE7不允许你重命名单选按钮的name属性。

    Here 是一种可能的解决方法。

    【讨论】:

      【解决方案2】:

      我找到了几种可能的解决方法,但以下方法效果很好:

      function setElementName(elems, name) {
              if ($.browser.msie === true){
                  $(elems).each(function() {
                      this.mergeAttributes(document.createElement("<input name='" + name + "'/>"), false);
                  });
              } else {
                  $(elems).attr('name', name);
              }
          } 
      

      【讨论】:

        猜你喜欢
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 2011-08-24
        相关资源
        最近更新 更多