<input type="checkbox" id="v1_<%#Eval("ProductCode") %>"/>var p1 = $("#v1_" + productCode).attr("checked") = true ? 1 : 0;这样子为什么报$("#v1_" + productCode).attr("checked")未定义(其他属性可以取得数据)

解决方案 »

  1.   

    var id="#v1_" + productCode;
    $(id).attr("checked") = true ? 1 : 0;
      

  2.   

    你确定 productCode里面的值是Eval("ProductCode") 里面的值吗?
      

  3.   

    这是jquery里面的处理,如果checkbox未选中,返回的就是undefined,一般我们对checked的属性使用的操作是:
    elem.checked // 原生javascript
    $(elem).prop("checked")
    $(elem).is(":checked")
      

  4.   

    var p1 = $("#v1_" + productCode).attr("checked") ? 1 : 0;
      

  5.   

    什么呀,怎么可以写“=true”后面还带着三元运算符,这样写不会报错吗?把“=true”给去掉才是一个布尔类型的表达式啊,后面才可以写三元运算符
      

  6.   

    问题解决了var p1 = $("#v1_" + productCode).is(':checked') == true ? 1 : 0;