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","");

posted @ 2010-11-26 20:24  妖*小夜  阅读(1164)  评论(0编辑  收藏  举报