【问题标题】:checkbox checked not getting picked up if made through jquery如果通过 jquery 进行检查,复选框不会被选中
【发布时间】:2011-05-09 16:11:57
【问题描述】:
  $("#submit_load").click(function() {

   var  profilename =$("#search_profiles option:selected").attr("value");
    var data='profilename='+profilename+'&user_id=' + <?=$user_id;?>;
    alert(data);
$.ajax({
        //this is the php file that processes the data and send mail
        url: "getprofile.php",  
        type: "POST",
        data: data,     
        cache: false,
        success: function (html) {
        alert(html);
        var dia_info  = html.split('~');
         //$('#diamond_options')[0].reset();

    var dia_id = $(':checkbox:checked.ds_nobg').map(function() {
           return this.id;
         }).get().join(',');
      alert("diatype----"+dia_id);
        // alert(dia_id.length);
         if(dia_id.length>0)
         {
             var dia_id_arr  = dia_id.split(',');
            for(var j=0;j<dia_id_arr.length;j++)
            {

                 var chk_id = dia_id_arr[j];



                  var diashape_chk = '#' + chk_id;
                   var bg_id='#'+chk_id+'1';
                    var shape_id='#'+chk_id+'-1';
                    var shape_class_on=chk_id+'_1_on';
                    var shape_class_off=chk_id+'_1';

               // alert(chk_id+'---'+diashape_chk+'---'+bg_id+'---'+shape_id+'---'+shape_class_on+'---'+shape_class_off );
              //  alert(dia_id_arr_sp[0]+'---'+dia_id_arr_sp[1]+'---'+diashape_chk+'---'+diashape+'---'+remclass+'---'+addcls+'---'+rembg );

            //  alert(diashape);
                $(shape_id).removeClass(shape_class_on);
            $(shape_id).addClass(shape_class_off);  
            $(bg_id).removeClass('ds_bg_hi' );
            $(bg_id).addClass('ds_nobg' );
            $(diashape_chk).removeAttr('checked') ;
             if ($(shape_id).hasClass(shape_class_off)) {
                        alert("helllo---"+j+"---"+shape_id);
                    }
            }        
        }
     if(dia_info[34].length>0)
         {


             var dia_id_arr  = dia_info[34].split(',');
            for(var l=0;l<dia_id_arr.length;l++)
            {

                  var chk_id = dia_id_arr[l];


                  var diashape_chk = '#' + chk_id;
                 var bg_id='#'+chk_id+'1';
                    var shape_id='#'+chk_id+'-1';
                    var shape_class_on=chk_id+'_1_on';
                    var shape_class_off=chk_id+'_1';

                    if ($(shape_id).hasClass(shape_class_off)) {
                        alert("ddddd---"+l+"---"+shape_id);
                    }



                   // alert(chk_id+'---'+diashape_chk+'---'+bg_id+'---'+shape_id+'---'+shape_class_on+'---'+shape_class_off );
                $(shape_id).removeClass(shape_class_off);
            $(shape_id).addClass(shape_class_on);   
            $(bg_id).removeClass('ds_nobg' );
            $(bg_id).addClass('ds_bg_hi' );
            $(diashape_chk).attr('checked', 'checked') ;
             if ($(shape_id).hasClass(shape_class_on)) {
                        alert("eeee---"+l+"---"+shape_id);
                    }
            }        
        }

    });

     });

对不起,伙计们,我在这个问题上做得不好......你可以看到我 $('#diamond_options')[0].reset();这导致了我所评论的所有问题,一切都有效....

【问题讨论】:

  • @Reigel - 你发表了一条空评论?
  • 我没有评论..我编辑了你的帖子...把$(#round)变成$('#round')
  • 错字:选择器周围没有引号。否则它对我来说工作正常jsfiddle.net/CdQqS
  • 对我来说很好:jsfiddle.net/vAnTU
  • @supertramp 你的作品,但是对我的问题做出了另一个改变......

标签: jquery dom checkbox checked


【解决方案1】:

更好地处理最新的jQuery v1.6方法jQuery.propjQuery.removeProp

$("#round").prop("checked", true);
$('#round').removeProp('checked') ;    

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多