`
花花人
  • 浏览: 69068 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE,firefox下jquery获取一组checkbox选中值的问题

阅读更多

   最近突然发现 IE,firefox下jquery获取一组checkbox选中值时有问题,自己在IE 7 8 兼容视图下 $("input   [type='checkbox'][checked]")是可以如实的获取页面的实际选中的情况,但在FF16.0.2 下则获取不到。

  调试时发现,在FF下需要 判断一下 if(checked)时 才会获取选中的实际情况,所以,统一将方法调整为:

 

 var unlockips = "";
    $("input[type='checkbox']").each(function(){
       if(this.checked) unlockips+=$(this).val()+",";      
     })
   // alert(unlockips);
   if(unlockips.length==0){
      alert("未选中选项");
      return ;
    }

处理完之后,浏览一下大家的处理方式:

 

http://hi.baidu.com/wuhao1014yi/item/fcf553d6549dc32339f6f7d1

【转】IE,firefox下jquery获取一组checkbox选中值的问题

HTML 代码:

<form>
<input type="checkbox" name="newsletter" checked="checked" value="Daily" />
<input type="checkbox" name="newsletter" value="Weekly" />
<input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form>

jQuery 代码:

$("input:checked")

结果:

[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" />, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> ]

var check = $("input:checked"); //得到所有被选中的checkbox
   var actor_config;              //定义变量
   check.each(function(i){         //循环拼装被选中项的值
    actor_config = actor+','+$(this).val();
    });
   alert(actor_config.substr(9)+',');

通过以下js代码去获取选中项的值,在IE7中可以正确取得选中项的值,但在IE8中却得不到选中项的值,同样在Firefox 3.5.3下也得不到值,但公司同事在Firefox其他较低版本下能正确得到值,IE6下也没有问题,⊙﹏⊙b汗

$('#permissionList-body input[name="checkboxes"][checked]').each(function(i){ alert($(this).val());});

 

      但是把技术代码修改为:

$('#permissionList-body input[name="checkboxes"]').each(function(i){ if(this.checked)alert($(this).val());});===========================================================================$('#permissionList-body input[name="checkboxes"][checked]')$('#permissionList-body input[name="checkboxes"][checked='checked']')这两种写法支持 IE$('#permissionList-body input[name="checkboxes"][checked='true']')这种支持firefox没有找到好的解决方法,只有加 if(this.checked)判断了 jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关

获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;

获取值:

文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio:   $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();

控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
                 $("#txt").attr("value",'11');//填充内容

多选框checkbox: $("#chk1").attr("checked",'');//不打勾
                 $("#chk2").attr("checked",true);//打勾
                 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾

单选组radio:    $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select:   $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
                $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
                $("#sel").empty();//清空下拉框

// 清空所有复选框选项
      $(":checkbox").attr("checked","");

===========================================================以Name获得值的方法(我用的方法)var str="";
       $("input[name='newsletter']").each(function(){
           if(this.checked) str+=$(this).val()+",";       
       })
        alert(str);

firefox3.6 ie8 jQuery选择checkbox的问题

分类: Jquery/ajax PHP 163人阅读 评论(0) 收藏 举报

function getCheckboxValue($inputname){   

            //注意ie8和高版本的firefox不支持jquery 对checked的选择器   

            //var s=$(‘input[type="checkbox"][name="xxx"][checked]‘);是获取不到选定的元素   

            //需要用下面的方法获取选中节点   

 var str=”";
 var s=$(‘input[type="checkbox"][name="'+$inputname+'"]‘);            
 var postuserid = ”;  
 var postusertext=”;  
 $.each(s,function(i,n){  
   if (n.checked){ 
       str+=n.value+”,”;
    }  
  });
 if (str!=”")
 {
   str=str.substring(0,str.length-1);
   return str;
 }
 else
 {
   return false;
 }     

   }

http://blog.csdn.net/shunzi110/article/details/7297142

也都是 同样的处理思路。

看来还是那句老话,要想走捷径就得承担潜在性的风险。

分享到:
评论

相关推荐

    使用JQuery封装的Select&Checkbox&Radio脚本-维豪信息技术有限公司内部

    在“使用JQuery封装的Select&Checkbox&Radio脚本-维豪信息技术有限公司内部”这个项目中,特别提到了在Firefox和IE等系列浏览器中进行了测试。这表明脚本已经考虑到了不同浏览器之间的差异,确保在各种环境下正常...

    jQueryAPI1.4

    jQuery 1.4在当时的主流浏览器上表现良好,包括IE6+、Firefox、Chrome、Safari和Opera,为开发者提供了良好的跨浏览器兼容性。 总的来说,jQuery API 1.4是JavaScript开发中不可或缺的工具,它的易用性和广泛的功能...

    js操作checkbox遇到的问题解决

    例如,文中提到在 IE 浏览器下可以正常工作,而在 Firefox 浏览器下却无法实现反选效果。 这是因为 jQuery 的 attr() 方法在某些情况下对 checked 属性的处理可能不符合原生 DOM 的行为。一个更可靠的方法是直接...

    JQ 全选和反选和取消

    7. **兼容性考虑**:虽然jQuery库对浏览器的兼容性很好,但仍然需要测试在不同浏览器(如IE8+、Chrome、Firefox、Safari等)上的表现,以确保功能正常运行。 总之,"JQ全选和反选和取消"是一个常见且实用的前端交互...

    ExtAspNet_v2.3.2_dll

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome ...

    ztree框架详解

    - **跨浏览器兼容性**:zTree 支持多种主流浏览器,包括但不限于 IE、Firefox、Chrome、Opera 和 Safari。 - **数据支持**:支持 JSON 格式的数据结构,便于开发者根据业务需求进行数据处理。 - **异步加载**:支持...

Global site tag (gtag.js) - Google Analytics