打印时候复选框勾选不见了_checkbox 选中未显示对号勾选的问题
今天同事 讓幫忙調(diào)試一個checkbox只選中一個的方法,代碼如下:
ID平臺代碼平臺名稱
選項2選項2選項3選項4varEleInput=$("[name = ptcode]:checkbox")//;$("#table_platform input") ;
EleInput.each(function(index, element) {
$(element).bind("click",function(){
EleInput.attr("checked",false);
$(this).attr("checked",true);
});
});
好的,靜態(tài)demo調(diào)試 ~ 運行~ 無問題。以為都結(jié)束了,但是放到項目出現(xiàn)了,
checkbox標簽已有checked=checked但是不顯示勾選,查看圖片:
于是乎 就開始網(wǎng)上查找 ,解決方法?就是將$("...").attr("checked",?true)?改為 ?$("...").prop("checked",?true),問題解決;
那么這樣解決的原因是什么呢??
首先來了解下jquey中的attr()函數(shù)和prop()函數(shù);
attr()是處理 attribute的值的,而prop()是處理 property 的值的 ,jQuery 1.6之前 ,.attr()方法在取某些 attribute 的值時,會返回 property 的值,這就導致了結(jié)果的不一致。
property是DOM中的屬性,是JavaScript里的對象;
attribute是HTML標簽上的特性,它的值只能夠是字符串;
從 jQuery 1.6 開始, .prop()方法 方法返回 property 的值,而 .attr() 方法返回 attributes 的值,那么歸根結(jié)底,就是在處理 attribute 和 property。 ? ? ? ? 很多attribute節(jié)點有一個相應的property屬性,因而attribute和property很容易被混淆在一起,
1) 如某個div元素中的id和class既是attribute也有property,不管哪種方式都可以訪問和修改,但是對于自定義的attribute節(jié)點,或者自定義property,兩者就沒有關(guān)系了(但是在IE6-7中,兩者還是一樣的,好奇葩的,但愿我們都能早日拋棄IE8以下的),
2) 需要注意的是,對于checked特性(attribute)不是對應它checked屬性(property),attribute實際對應的是defaultChecked屬性,而且僅用于設(shè)置復選框最初的值,checked的attribute不會因為復選框的狀態(tài)而改變,而checked的property會因為復選框的狀態(tài)而改變,所以在.attr()函數(shù)中,就算設(shè)置成 了.attr("checked", true),也只是用來存儲默認或者選中屬性的默認值,卻并不改變該復選框被選中和選中,這就是為什么 ? checkbox標簽已有checked=checked但是不顯示勾選 的原因所在
總結(jié)
以上是生活随笔為你收集整理的打印时候复选框勾选不见了_checkbox 选中未显示对号勾选的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 02年六代雅阁的整备质量_2020年宝安
- 下一篇: 柱状图中xy轴怎么出现_如果制砂机设备在