日期:2014-05-17  浏览次数:20477 次

都来看看,一个简单的问题
<input type="checkbox" id="v1_<%#Eval("ProductCode") %>"/>

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

这样子为什么报$("#v1_" + productCode).attr("checked")未定义(其他属性可以取得数据)

------解决方案--------------------
var id="#v1_" + productCode;
$(id).attr("checked") = true ? 1 : 0;
------解决方案--------------------
你确定 productCode里面的值是Eval("ProductCode") 里面的值吗?
------解决方案--------------------
查看源码,看生成的id是什么再操作
------解决方案--------------------
这是jquery里面的处理,如果checkbox未选中,返回的就是undefined,一般我们对checked的属性使用的操作是:
elem.checked // 原生javascript
$(elem).prop("checked")
$(elem).is(":checked")
------解决方案--------------------
var p1 = $("#v1_" + productCode).attr("checked") ? 1 : 0;

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