ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-在IE6,IE7中单击时,动态添加的单选按钮未更新

2019-12-08 23:36:40  阅读:198  来源: 互联网

标签:internet-explorer-7 internet-explorer-6 javascript jquery radio-button


我已经使用jQuery将一组单选按钮动态添加到DOM.我已经注册了事件处理程序,它运作良好.但是,当在IE6和IE7中单击时,单选按钮组不会更新选中哪个按钮.

我的原始代码与此类似:

<body>
<form action="radio-ie7_submit" method="get" accept-charset="utf-8"></form>
<script type="text/javascript" charset="utf-8">
    $(function() {
        $.each(['A','B', 'C'], function (i, e) {
            $('<input>')
                .attr('type', 'radio')
                .attr('name', 'foo')
                .attr('checked', i == 1 ? 'checked' : '')
                .val(e)
                .appendTo($('form'))
                .after(e + '<br />')
                .click(function(){
                    alert('Kliiik')
                })
        })  
    })
</script>
</body>

同样,当我单击单选按钮时,将正确调用事件处理程序,但单选按钮不会更新.我做了这个黑客似乎工作:

<body>
<form action="radio-ie7_submit" method="get" accept-charset="utf-8"></form>
<script type="text/javascript" charset="utf-8">
    $(function() {
        $.each(['A','B', 'C'], function (i, e) {
            $('<input>')
                .attr('type', 'radio')
                .attr('name', 'foo')
                .attr('checked', i == 1 ? 'checked' : '')
                .val(e)
                .appendTo($('form'))
                .after(e + '<br />')
                .click(function(){
                    $('input[name="' + this.name + '"]').each(function () { this.checked = false });
                    this.checked = true;
                    alert('Kliiik')
                })
        })  
    })
</script>
</body>

基本上,我的解决方法是取消选中单选按钮组中的所有按钮,然后将单击的按钮标记为已选中.似乎有点不客气.有没有更好的方法来解决这个问题?有谁遇到过这个问题,可以进一步解释为什么这样做的方式?

谢谢.

解决方法:

这是带有表单元素的旧IE问题.这不是怪罪于Jquery.如果您想要针对IE 6用户的解决方法,则可以使点击功能如下

            .click(function(){
                $('input[name="' + this.name + '"]').attr('checked',''); 
                this.checked = true; 
                alert('Kliiik')                
            })

标签:internet-explorer-7,internet-explorer-6,javascript,jquery,radio-button
来源: https://codeday.me/bug/20191208/2094975.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有