js:
var i = 0;
function AddCheckBoxRelay(obj) {
var session = '<%=Session["AnswerType"] %>';
var chkRelay = '<%=chkRelay %>';
if (chkRelay == true) {
$(this).attr("checked", "<%# DataBinder.Eval(Container.DataItem,'IsRelayExt')%>");
i++;
$(this).attr("value", i);
$(this).attr("style", "display:block;");
}
}
html:
<td id="tdChk_<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" name="tdChk" >
<input id="IsRelayExt_<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" name="IsRelayExt" type="radio" text="設置中繼分機" style='display:none;' onload="javascript:AddCheckBoxRelay(this)" onchange="javascript:SetIsRelay(this)" data-value="<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" />
</td>
input沒有onload事件。。。body或者window才有。。
你要給指定的input執行AddCheckBoxRelay函數,自己在window.onload中獲取所有input或者指定的input後執行一次AddCheckBoxRelay函數,傳入這個input,而且你代碼也有問題,你的這樣綁定AddCheckBoxRelay函數this是指向window的,並不是你的inut,你不是傳入參數了,直接用obj參數
window.onload = function () {
var ipts = document.getElementsByName('IsRelayExt')
for (var i = 0; i < ipts.length; i++)
AddCheckBoxRelay(ipts[i]);
}