今天解一個小問題,順手把解法記下來。
問題是這樣子的,有個按鈕發現不能按了,看了一下原因,是因為 ASP.NET 在產生頁面時會將你設的 ID 加字,比如說你原本有個 Input 控制項的 ID 是叫 InputHere ,到真正頁面時ASP.NET可能會幫你變成 ctl00_ML_InputHere,於是原本使用 $('#InputHere')就找不到這東西了。
因為這頁面年代久遠,所以用最小修改的方式去修這問題。
在ASP.NET頁面上,可以使用 $("*[id$='ID']") 去選取名為ID的控制項,但是因為要改的地方不少,所以我打算用比較簡單的方法去做。
這邊我先設一個 function 來幫我做這件事
然後我要找 ID 叫 InputHere 的控制項時,就可以只使用 $$('InputHere') 去抓了,方便許多。
問題是這樣子的,有個按鈕發現不能按了,看了一下原因,是因為 ASP.NET 在產生頁面時會將你設的 ID 加字,比如說你原本有個 Input 控制項的 ID 是叫 InputHere ,到真正頁面時ASP.NET可能會幫你變成 ctl00_ML_InputHere,於是原本使用 $('#InputHere')就找不到這東西了。
因為這頁面年代久遠,所以用最小修改的方式去修這問題。
在ASP.NET頁面上,可以使用 $("*[id$='ID']") 去選取名為ID的控制項,但是因為要改的地方不少,所以我打算用比較簡單的方法去做。
這邊我先設一個 function 來幫我做這件事
function $$(id, context) { var el = $("#" + id, context); if (el.length < 1) el = $("*[id$=" + id + "]", context); return el; }
然後我要找 ID 叫 InputHere 的控制項時,就可以只使用 $$('InputHere') 去抓了,方便許多。
No comments:
Post a Comment